Data for this analysis comes from Maria-Elena Nilsback and Andrew Zisserman's 2008 study, “Automated Flower Classification over a Large Number of Classes”.
The dataset includes 8,192 images of 102 classes of flowers.
I begin by selecting three flower types and creating a three class classifier. My model classifies very well, with an AUC of .99 and accuracy of .98.
I then create a classifier with all 102 flower classes. This classifier has a high AUC score as well of .97 and accuracy of .57. I plan to work to improve these metrics further, optimizing my model to allow for more complexity and training time.
from google.colab import drive
drive.mount('/content/drive')
Mounted at /content/drive
### open tgz file to get images
### only need to do once
# !tar -xvzf "/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/102flowers.tgz" -C '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/'
!pip install mat4py
Collecting mat4py Downloading https://files.pythonhosted.org/packages/e8/56/41b3ffd7b5f3eb3056979e0dc37de184c6e5dacd1a353e5de42323e7d138/mat4py-0.5.0-py2.py3-none-any.whl Installing collected packages: mat4py Successfully installed mat4py-0.5.0
from mat4py import loadmat
path = '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/'
im_labels = loadmat(path+'imagelabels.mat')
# Colab Setup:
# note that tabular preprocessors require scikit-learn>=0.24.0
# Newest Tensorflow 2 has some bugs for onnx conversion
!pip install scikit-learn --upgrade
import os
os.environ['TF_KERAS'] = '1'
% tensorflow_version 1
Collecting scikit-learn
Downloading https://files.pythonhosted.org/packages/f3/74/eb899f41d55f957e2591cde5528e75871f817d9fb46d4732423ecaca736d/scikit_learn-0.24.1-cp37-cp37m-manylinux2010_x86_64.whl (22.3MB)
|████████████████████████████████| 22.3MB 62.7MB/s
Collecting threadpoolctl>=2.0.0
Downloading https://files.pythonhosted.org/packages/f7/12/ec3f2e203afa394a149911729357aa48affc59c20e2c1c8297a60f33f133/threadpoolctl-2.1.0-py3-none-any.whl
Requirement already satisfied, skipping upgrade: scipy>=0.19.1 in /usr/local/lib/python3.7/dist-packages (from scikit-learn) (1.4.1)
Requirement already satisfied, skipping upgrade: numpy>=1.13.3 in /usr/local/lib/python3.7/dist-packages (from scikit-learn) (1.19.5)
Requirement already satisfied, skipping upgrade: joblib>=0.11 in /usr/local/lib/python3.7/dist-packages (from scikit-learn) (1.0.1)
Installing collected packages: threadpoolctl, scikit-learn
Found existing installation: scikit-learn 0.22.2.post1
Uninstalling scikit-learn-0.22.2.post1:
Successfully uninstalled scikit-learn-0.22.2.post1
Successfully installed scikit-learn-0.24.1 threadpoolctl-2.1.0
`%tensorflow_version` only switches the major version: 1.x or 2.x.
You set: `1`. This will be interpreted as: `1.x`.
TensorFlow 1.x selected.
import sys
import time
import cv2
import numpy as np
from matplotlib import pyplot as plt
import tensorflow as tf
import os
import zipfile
import shutil
from skimage.transform import resize
from sklearn.model_selection import train_test_split
from tensorflow.python.keras.utils import np_utils
from tensorflow.keras.models import Sequential, Model
from tensorflow.keras.layers import Dense, Dropout, Flatten, Activation, BatchNormalization, GlobalAveragePooling2D
from tensorflow.python.keras.layers.convolutional import Conv2D, MaxPooling2D
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.optimizers import Adam,SGD,Adagrad,Adadelta,RMSprop
from tensorflow.keras.applications import VGG19, ResNet50, InceptionV3, InceptionV3, InceptionResNetV2
from tensorflow.keras.applications.vgg16 import VGG16
from tensorflow.keras.preprocessing import image
from tensorflow.keras import backend as K
from tensorflow.python.keras.callbacks import ReduceLROnPlateau, ModelCheckpoint
base_path = '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/jpg/'
imagefold = os.path.join(base_path)
file_names = os.listdir(imagefold)
full_path = [os.path.join(imagefold, file_name) for file_name in file_names]
# total number of images
len(full_path)
8192
# import flower names that correspond with categories
import json
path='/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/'
with open(path+'cat_to_name.json') as f:
name_cat = json.load(f)
im_labels = list(im_labels.values())
im_labels = [item for sublist in im_labels for item in sublist]
Only need to complete this section once
# choose the top three flowers with the most images
from collections import Counter
Counter(im_labels).most_common()[:3]
[(51, 258), (77, 251), (46, 196)]
ind1 = [i for i, j in enumerate(im_labels) if j == 51]
ind2 = [i for i, j in enumerate(im_labels) if j == 77]
ind3 = [i for i, j in enumerate(im_labels) if j == 46]
# sort list of paths
full_path.sort()
# full_path
full_path = [full_path[i] for i in ind1 + ind2 + ind3]
im_labels = [im_labels[i] for i in ind1 + ind2 + ind3]
len(set(im_labels))
3
len(im_labels)
705
len(set(full_path))
705
# ======Train test split resized images======
# train = 60%
# validation = 20%
# test = 20%
X_train, X_test, y_train, y_test = train_test_split(
full_path, im_labels, test_size=0.2, random_state=99)
X_train, X_val, y_train, y_val = train_test_split(
X_train, y_train, test_size=0.25, random_state=99)
### create new train/validation/test image folders
newpath = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/train_img/'
if not os.path.exists(newpath):
os.makedirs(newpath)
newpath = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/val_img/'
if not os.path.exists(newpath):
os.makedirs(newpath)
newpath = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/test_img/'
if not os.path.exists(newpath):
os.makedirs(newpath)
### move respective images to each folder
train_path = '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/jpg/train_img/'
for file in X_train:
shutil.copy(file, train_path)
val_path = '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/jpg/val_img/'
for file in X_val:
shutil.copy(file, val_path)
test_path = '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/jpg/test_img/'
for file in X_test:
shutil.copy(file, test_path)
set(y_train)
{46, 51, 77}
# create classes folder - training
class1path = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/train_img/class_1/'
if not os.path.exists(class1path):
os.makedirs(class1path)
class2path = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/train_img/class_2/'
if not os.path.exists(class2path):
os.makedirs(class2path)
class3path = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/train_img/class_3/'
if not os.path.exists(class3path):
os.makedirs(class3path)
# create classes folder - validation
class1path_val = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/val_img/class_1/'
if not os.path.exists(class1path_val):
os.makedirs(class1path_val)
class2path_val = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/val_img/class_2/'
if not os.path.exists(class2path_val):
os.makedirs(class2path_val)
class3path_val = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/val_img/class_3/'
if not os.path.exists(class3path_val):
os.makedirs(class3path_val)
# create classes folder - test
class1path_test = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/test_img/class_1/'
if not os.path.exists(class1path_test):
os.makedirs(class1path_test)
class2path_test = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/test_img/class_2/'
if not os.path.exists(class2path_test):
os.makedirs(class2path_test)
class3path_test = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/test_img/class_3/'
if not os.path.exists(class3path_test):
os.makedirs(class3path_test)
# move images to class specific folders - train
curr_path = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/train_img/'
for x, y in zip(X_train, y_train):
if y==46:
shutil.copy(curr_path+x[-15:], class1path)
if y==51:
shutil.copy(curr_path+x[-15:], class2path)
if y==77:
shutil.copy(curr_path+x[-15:], class3path)
# move images to class specific folders - validation
curr_path = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/val_img/'
for x, y in zip(X_val, y_val):
if y==46:
shutil.copy(curr_path+x[-15:], class1path_val)
if y==51:
shutil.copy(curr_path+x[-15:], class2path_val)
if y==77:
shutil.copy(curr_path+x[-15:], class3path_val)
# move images to class specific folders - test
curr_path = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/jpg/test_img/'
for x, y in zip(X_test, y_test):
if y==46:
shutil.copy(curr_path+x[-15:], class1path_test)
if y==51:
shutil.copy(curr_path+x[-15:], class2path_test)
if y==77:
shutil.copy(curr_path+x[-15:], class3path_test)
# set directory paths
p = '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/'
train_dir = os.path.join(p, 'jpg/train_img/')
validation_dir = os.path.join(p, 'jpg/val_img/')
test_dir = os.path.join(p, 'jpg/test_img/')
total_train = 423
batch_size = 128
epochs = 15
IMG_HEIGHT = 150
IMG_WIDTH = 150
from tensorflow.keras.preprocessing.image import ImageDataGenerator
# data augmentation on training data
train_image_generator = ImageDataGenerator(rescale=1./255,
rotation_range=45,
width_shift_range=.15,
height_shift_range=.15,
horizontal_flip=True,
zoom_range=0.5)
train_data_gen = train_image_generator.flow_from_directory(batch_size=batch_size,
directory=train_dir,
shuffle=True,
target_size=(IMG_HEIGHT, IMG_WIDTH),
class_mode='categorical')
Found 423 images belonging to 3 classes.
validation_image_generator = ImageDataGenerator(rescale=1./255)
val_data_gen = validation_image_generator.flow_from_directory(batch_size=batch_size,
directory=validation_dir,
target_size=(IMG_HEIGHT, IMG_WIDTH),
class_mode='categorical')
Found 141 images belonging to 3 classes.
test_image_generator = ImageDataGenerator(rescale=1./255)
test_data_gen = test_image_generator.flow_from_directory(batch_size=batch_size,
directory=test_dir,
target_size=(IMG_HEIGHT, IMG_WIDTH),
class_mode='categorical')
Found 141 images belonging to 3 classes.
Sample of training images
sample_training_images,_= next(train_data_gen)
sample_training_images.shape
(128, 150, 150, 3)
def plotImages(images_arr):
fig, axes = plt.subplots(1, 5, figsize=(20,20))
axes = axes.flatten()
for img, ax in zip( images_arr, axes):
ax.imshow(img)
ax.axis('off')
plt.tight_layout()
plt.show()
plotImages(sample_training_images[5:10])
plotImages(sample_training_images[30:35])
sample_test_images,_= next(test_data_gen)
plotImages(sample_test_images[5:10])
plotImages(sample_test_images[20:25])
l = tf.keras.layers
# Create function to define fire modules
def fire(x, squeeze, expand):
y = l.Conv2D(filters=squeeze, kernel_size=1, padding='same', activation='relu')(x)
y1 = l.Conv2D(filters=expand//2, kernel_size=1, padding='same', activation='relu')(y) # note: //2 takes input value and divides by 2, so we reach the dimensions requested with stacking later.
y3 = l.Conv2D(filters=expand//2, kernel_size=3, padding='same', activation='relu')(y)
return tf.keras.layers.concatenate([y1, y3])
# this is to make it behave similarly to other Keras layers
def fire_module(squeeze, expand):
return lambda x: fire(x, squeeze, expand)
with tf.device('/device:GPU:0'):
x = tf.keras.layers.Input(shape=[IMG_HEIGHT,IMG_WIDTH, 3])
# x (input layer) stacked on top of the convolutional layer
y = tf.keras.layers.Conv2D(kernel_size=3, filters=32, padding='same', activation='relu')(x)
y = fire_module(34, 68)(y)
y = tf.keras.layers.MaxPooling2D(pool_size=2)(y)
y = fire_module(34, 68)(y)
y = tf.keras.layers.MaxPooling2D(pool_size=2)(y)
y = fire_module(34, 68)(y)
y = tf.keras.layers.GlobalAveragePooling2D()(y) # Takes average of h x w for each channel and returns 1 scalar value per channel
y = tf.keras.layers.Dense(3, activation='softmax')(y) # Parameters for final layer from GAP = number of channels in previous layer plus number of dense nodes in output layer times number of dense nodes
model = tf.keras.Model(x, y)
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['acc', 'AUC'])
history = model.fit(
train_data_gen,
steps_per_epoch=total_train // batch_size, #adjusts training process for new image batches
epochs=150,
validation_data=val_data_gen,
validation_steps=total_val // batch_size
)
Epoch 1/150 12/13 [==========================>...] - ETA: 1s - loss: 1.0621 - acc: 0.3515 - auc_2: 0.6056Epoch 1/150 13/13 [==============================] - 22s 2s/step - loss: 1.0601 - acc: 0.3524 - auc_2: 0.6036 - val_loss: 0.9972 - val_acc: 0.3901 - val_auc_2: 0.6677 Epoch 2/150 12/13 [==========================>...] - ETA: 1s - loss: 0.8816 - acc: 0.5582 - auc_2: 0.7729Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.8746 - acc: 0.5639 - auc_2: 0.7763 - val_loss: 0.8628 - val_acc: 0.5887 - val_auc_2: 0.7648 Epoch 3/150 12/13 [==========================>...] - ETA: 1s - loss: 0.7380 - acc: 0.6281 - auc_2: 0.8301Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.7371 - acc: 0.6292 - auc_2: 0.8310 - val_loss: 0.7619 - val_acc: 0.6241 - val_auc_2: 0.8140 Epoch 4/150 12/13 [==========================>...] - ETA: 1s - loss: 0.6927 - acc: 0.6703 - auc_2: 0.8547Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.6865 - acc: 0.6774 - auc_2: 0.8583 - val_loss: 0.6648 - val_acc: 0.7021 - val_auc_2: 0.8652 Epoch 5/150 12/13 [==========================>...] - ETA: 1s - loss: 0.6308 - acc: 0.7069 - auc_2: 0.8769Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.6214 - acc: 0.7110 - auc_2: 0.8794 - val_loss: 0.6678 - val_acc: 0.6596 - val_auc_2: 0.8663 Epoch 6/150 12/13 [==========================>...] - ETA: 1s - loss: 0.5659 - acc: 0.7386 - auc_2: 0.9081Epoch 1/150 13/13 [==============================] - 18s 1s/step - loss: 0.5646 - acc: 0.7382 - auc_2: 0.9082 - val_loss: 0.7357 - val_acc: 0.6738 - val_auc_2: 0.8883 Epoch 7/150 12/13 [==========================>...] - ETA: 0s - loss: 0.5465 - acc: 0.7432 - auc_2: 0.9074Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.5410 - acc: 0.7454 - auc_2: 0.9098 - val_loss: 0.5588 - val_acc: 0.7092 - val_auc_2: 0.9098 Epoch 8/150 12/13 [==========================>...] - ETA: 1s - loss: 0.5090 - acc: 0.7739 - auc_2: 0.9270Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.5059 - acc: 0.7774 - auc_2: 0.9273 - val_loss: 0.4359 - val_acc: 0.7730 - val_auc_2: 0.9295 Epoch 9/150 12/13 [==========================>...] - ETA: 1s - loss: 0.4511 - acc: 0.7912 - auc_2: 0.9389Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.4426 - acc: 0.7981 - auc_2: 0.9422 - val_loss: 0.3908 - val_acc: 0.8440 - val_auc_2: 0.9563 Epoch 10/150 12/13 [==========================>...] - ETA: 1s - loss: 0.4535 - acc: 0.8085 - auc_2: 0.9384Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.4523 - acc: 0.8103 - auc_2: 0.9390 - val_loss: 0.5263 - val_acc: 0.7872 - val_auc_2: 0.9205 Epoch 11/150 12/13 [==========================>...] - ETA: 1s - loss: 0.3972 - acc: 0.8322 - auc_2: 0.9549Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.3963 - acc: 0.8304 - auc_2: 0.9552 - val_loss: 0.3388 - val_acc: 0.8369 - val_auc_2: 0.9595 Epoch 12/150 12/13 [==========================>...] - ETA: 1s - loss: 0.3686 - acc: 0.8424 - auc_2: 0.9604Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.3701 - acc: 0.8440 - auc_2: 0.9609 - val_loss: 0.2773 - val_acc: 0.8582 - val_auc_2: 0.9666 Epoch 13/150 12/13 [==========================>...] - ETA: 1s - loss: 0.3718 - acc: 0.8534 - auc_2: 0.9623Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.3679 - acc: 0.8561 - auc_2: 0.9629 - val_loss: 0.3714 - val_acc: 0.8369 - val_auc_2: 0.9528 Epoch 14/150 12/13 [==========================>...] - ETA: 1s - loss: 0.3443 - acc: 0.8582 - auc_2: 0.9653Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.3429 - acc: 0.8604 - auc_2: 0.9659 - val_loss: 0.2914 - val_acc: 0.9007 - val_auc_2: 0.9867 Epoch 15/150 12/13 [==========================>...] - ETA: 0s - loss: 0.3274 - acc: 0.8636 - auc_2: 0.9669Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.3238 - acc: 0.8654 - auc_2: 0.9682 - val_loss: 0.2758 - val_acc: 0.9078 - val_auc_2: 0.9871 Epoch 16/150 12/13 [==========================>...] - ETA: 1s - loss: 0.3127 - acc: 0.8779 - auc_2: 0.9725Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.3035 - acc: 0.8840 - auc_2: 0.9744 - val_loss: 0.1973 - val_acc: 0.9220 - val_auc_2: 0.9896 Epoch 17/150 12/13 [==========================>...] - ETA: 1s - loss: 0.2841 - acc: 0.8881 - auc_2: 0.9773Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.2818 - acc: 0.8890 - auc_2: 0.9780 - val_loss: 0.3084 - val_acc: 0.8794 - val_auc_2: 0.9781 Epoch 18/150 12/13 [==========================>...] - ETA: 1s - loss: 0.2421 - acc: 0.9046 - auc_2: 0.9843Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.2413 - acc: 0.9048 - auc_2: 0.9845 - val_loss: 0.2549 - val_acc: 0.9149 - val_auc_2: 0.9827 Epoch 19/150 12/13 [==========================>...] - ETA: 1s - loss: 0.2276 - acc: 0.9086 - auc_2: 0.9852Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.2223 - acc: 0.9098 - auc_2: 0.9855 - val_loss: 0.4339 - val_acc: 0.8652 - val_auc_2: 0.9681 Epoch 20/150 12/13 [==========================>...] - ETA: 1s - loss: 0.2867 - acc: 0.8976 - auc_2: 0.9765Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.2841 - acc: 0.8976 - auc_2: 0.9769 - val_loss: 0.2458 - val_acc: 0.9078 - val_auc_2: 0.9820 Epoch 21/150 12/13 [==========================>...] - ETA: 1s - loss: 0.2656 - acc: 0.8944 - auc_2: 0.9805Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.2695 - acc: 0.8912 - auc_2: 0.9796 - val_loss: 0.1967 - val_acc: 0.9291 - val_auc_2: 0.9896 Epoch 22/150 12/13 [==========================>...] - ETA: 1s - loss: 0.2617 - acc: 0.8936 - auc_2: 0.9788Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.2554 - acc: 0.8984 - auc_2: 0.9802 - val_loss: 0.2127 - val_acc: 0.9291 - val_auc_2: 0.9866 Epoch 23/150 12/13 [==========================>...] - ETA: 1s - loss: 0.2314 - acc: 0.9180 - auc_2: 0.9860Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.2290 - acc: 0.9182 - auc_2: 0.9861 - val_loss: 0.3300 - val_acc: 0.8652 - val_auc_2: 0.9704 Epoch 24/150 12/13 [==========================>...] - ETA: 1s - loss: 0.2795 - acc: 0.8918 - auc_2: 0.9768Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.2671 - acc: 0.8948 - auc_2: 0.9775 - val_loss: 0.1245 - val_acc: 0.9504 - val_auc_2: 0.9939 Epoch 25/150 12/13 [==========================>...] - ETA: 1s - loss: 0.2317 - acc: 0.9078 - auc_2: 0.9835Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.2268 - acc: 0.9112 - auc_2: 0.9845 - val_loss: 0.1196 - val_acc: 0.9645 - val_auc_2: 0.9878 Epoch 26/150 12/13 [==========================>...] - ETA: 0s - loss: 0.1798 - acc: 0.9275 - auc_2: 0.9896Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.1843 - acc: 0.9281 - auc_2: 0.9895 - val_loss: 0.2930 - val_acc: 0.9149 - val_auc_2: 0.9805 Epoch 27/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1775 - acc: 0.9307 - auc_2: 0.9912Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.1774 - acc: 0.9313 - auc_2: 0.9912 - val_loss: 0.3814 - val_acc: 0.9007 - val_auc_2: 0.9724 Epoch 28/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1915 - acc: 0.9300 - auc_2: 0.9871Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.1984 - acc: 0.9298 - auc_2: 0.9869 - val_loss: 0.2458 - val_acc: 0.9220 - val_auc_2: 0.9773 Epoch 29/150 12/13 [==========================>...] - ETA: 1s - loss: 0.2034 - acc: 0.9314 - auc_2: 0.9885Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.1984 - acc: 0.9327 - auc_2: 0.9891 - val_loss: 0.1810 - val_acc: 0.9362 - val_auc_2: 0.9838 Epoch 30/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1645 - acc: 0.9448 - auc_2: 0.9918Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.1641 - acc: 0.9449 - auc_2: 0.9920 - val_loss: 0.1604 - val_acc: 0.9362 - val_auc_2: 0.9840 Epoch 31/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1568 - acc: 0.9377 - auc_2: 0.9915Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.1580 - acc: 0.9373 - auc_2: 0.9915 - val_loss: 0.2785 - val_acc: 0.9362 - val_auc_2: 0.9836 Epoch 32/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1542 - acc: 0.9480 - auc_2: 0.9926Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.1531 - acc: 0.9477 - auc_2: 0.9926 - val_loss: 0.6186 - val_acc: 0.8652 - val_auc_2: 0.9654 Epoch 33/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1681 - acc: 0.9417 - auc_2: 0.9913Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.1650 - acc: 0.9404 - auc_2: 0.9915 - val_loss: 0.4058 - val_acc: 0.9220 - val_auc_2: 0.9833 Epoch 34/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1443 - acc: 0.9551 - auc_2: 0.9928Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.1405 - acc: 0.9569 - auc_2: 0.9933 - val_loss: 0.2588 - val_acc: 0.9078 - val_auc_2: 0.9799 Epoch 35/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1204 - acc: 0.9653 - auc_2: 0.9960Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.1188 - acc: 0.9664 - auc_2: 0.9961 - val_loss: 0.3498 - val_acc: 0.9433 - val_auc_2: 0.9852 Epoch 36/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1246 - acc: 0.9576 - auc_2: 0.9931Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.1228 - acc: 0.9580 - auc_2: 0.9936 - val_loss: 0.2309 - val_acc: 0.9716 - val_auc_2: 0.9923 Epoch 37/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1655 - acc: 0.9377 - auc_2: 0.9888Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.1609 - acc: 0.9420 - auc_2: 0.9895 - val_loss: 0.1393 - val_acc: 0.9504 - val_auc_2: 0.9891 Epoch 38/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1176 - acc: 0.9645 - auc_2: 0.9961Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.1195 - acc: 0.9628 - auc_2: 0.9959 - val_loss: 0.1145 - val_acc: 0.9574 - val_auc_2: 0.9885 Epoch 39/150 12/13 [==========================>...] - ETA: 0s - loss: 0.1212 - acc: 0.9559 - auc_2: 0.9949Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.1180 - acc: 0.9572 - auc_2: 0.9953 - val_loss: 0.2129 - val_acc: 0.9220 - val_auc_2: 0.9813 Epoch 40/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1397 - acc: 0.9606 - auc_2: 0.9933Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.1405 - acc: 0.9599 - auc_2: 0.9933 - val_loss: 0.3312 - val_acc: 0.9220 - val_auc_2: 0.9750 Epoch 41/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1212 - acc: 0.9574 - auc_2: 0.9958Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.1185 - acc: 0.9585 - auc_2: 0.9960 - val_loss: 0.2953 - val_acc: 0.9433 - val_auc_2: 0.9882 Epoch 42/150 12/13 [==========================>...] - ETA: 0s - loss: 0.1138 - acc: 0.9606 - auc_2: 0.9961Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.1123 - acc: 0.9606 - auc_2: 0.9963 - val_loss: 0.4571 - val_acc: 0.9007 - val_auc_2: 0.9768 Epoch 43/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1184 - acc: 0.9590 - auc_2: 0.9960Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.1243 - acc: 0.9571 - auc_2: 0.9951 - val_loss: 0.2438 - val_acc: 0.9149 - val_auc_2: 0.9762 Epoch 44/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0826 - acc: 0.9685 - auc_2: 0.9976Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0826 - acc: 0.9687 - auc_2: 0.9977 - val_loss: 0.0730 - val_acc: 0.9716 - val_auc_2: 0.9928 Epoch 45/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0975 - acc: 0.9653 - auc_2: 0.9965Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0976 - acc: 0.9664 - auc_2: 0.9966 - val_loss: 0.2357 - val_acc: 0.9291 - val_auc_2: 0.9858 Epoch 46/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0836 - acc: 0.9693 - auc_2: 0.9974Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0882 - acc: 0.9671 - auc_2: 0.9972 - val_loss: 0.3135 - val_acc: 0.9362 - val_auc_2: 0.9878 Epoch 47/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0861 - acc: 0.9763 - auc_2: 0.9967Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0891 - acc: 0.9740 - auc_2: 0.9965 - val_loss: 0.1032 - val_acc: 0.9574 - val_auc_2: 0.9922 Epoch 48/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1433 - acc: 0.9499 - auc_2: 0.9926Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.1410 - acc: 0.9499 - auc_2: 0.9928 - val_loss: 0.1852 - val_acc: 0.9574 - val_auc_2: 0.9881 Epoch 49/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1206 - acc: 0.9622 - auc_2: 0.9952Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.1157 - acc: 0.9642 - auc_2: 0.9957 - val_loss: 0.1957 - val_acc: 0.9362 - val_auc_2: 0.9870 Epoch 50/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0878 - acc: 0.9716 - auc_2: 0.9977Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0840 - acc: 0.9725 - auc_2: 0.9978 - val_loss: 0.5069 - val_acc: 0.9362 - val_auc_2: 0.9811 Epoch 51/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0759 - acc: 0.9713 - auc_2: 0.9977Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0766 - acc: 0.9714 - auc_2: 0.9977 - val_loss: 0.3896 - val_acc: 0.9433 - val_auc_2: 0.9896 Epoch 52/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0981 - acc: 0.9559 - auc_2: 0.9967Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.1006 - acc: 0.9563 - auc_2: 0.9965 - val_loss: 0.3577 - val_acc: 0.9149 - val_auc_2: 0.9772 Epoch 53/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0789 - acc: 0.9724 - auc_2: 0.9969Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0799 - acc: 0.9725 - auc_2: 0.9970 - val_loss: 0.2400 - val_acc: 0.9433 - val_auc_2: 0.9882 Epoch 54/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0682 - acc: 0.9764 - auc_2: 0.9982Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0712 - acc: 0.9757 - auc_2: 0.9982 - val_loss: 0.1708 - val_acc: 0.9574 - val_auc_2: 0.9920 Epoch 55/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0593 - acc: 0.9811 - auc_2: 0.9982Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0603 - acc: 0.9814 - auc_2: 0.9982 - val_loss: 0.1337 - val_acc: 0.9574 - val_auc_2: 0.9913 Epoch 56/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0807 - acc: 0.9779 - auc_2: 0.9974Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0775 - acc: 0.9800 - auc_2: 0.9976 - val_loss: 0.1259 - val_acc: 0.9574 - val_auc_2: 0.9927 Epoch 57/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0790 - acc: 0.9724 - auc_2: 0.9972Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0768 - acc: 0.9728 - auc_2: 0.9974 - val_loss: 0.5035 - val_acc: 0.9504 - val_auc_2: 0.9907 Epoch 58/150 12/13 [==========================>...] - ETA: 0s - loss: 0.1073 - acc: 0.9610 - auc_2: 0.9962Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.1049 - acc: 0.9633 - auc_2: 0.9964 - val_loss: 0.3111 - val_acc: 0.9645 - val_auc_2: 0.9922 Epoch 59/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0969 - acc: 0.9720 - auc_2: 0.9960Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0939 - acc: 0.9721 - auc_2: 0.9961 - val_loss: 0.2043 - val_acc: 0.9433 - val_auc_2: 0.9768 Epoch 60/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0684 - acc: 0.9764 - auc_2: 0.9986Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0750 - acc: 0.9764 - auc_2: 0.9984 - val_loss: 0.1851 - val_acc: 0.9574 - val_auc_2: 0.9914 Epoch 61/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0540 - acc: 0.9835 - auc_2: 0.9988Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0613 - acc: 0.9814 - auc_2: 0.9980 - val_loss: 0.4537 - val_acc: 0.9149 - val_auc_2: 0.9732 Epoch 62/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0695 - acc: 0.9780 - auc_2: 0.9989Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0788 - acc: 0.9725 - auc_2: 0.9982 - val_loss: 0.1581 - val_acc: 0.9362 - val_auc_2: 0.9865 Epoch 63/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0897 - acc: 0.9801 - auc_2: 0.9977Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0900 - acc: 0.9800 - auc_2: 0.9977 - val_loss: 0.1117 - val_acc: 0.9504 - val_auc_2: 0.9916 Epoch 64/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0730 - acc: 0.9732 - auc_2: 0.9977Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0729 - acc: 0.9728 - auc_2: 0.9978 - val_loss: 0.4187 - val_acc: 0.9504 - val_auc_2: 0.9901 Epoch 65/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0824 - acc: 0.9756 - auc_2: 0.9974Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0841 - acc: 0.9749 - auc_2: 0.9973 - val_loss: 0.8867 - val_acc: 0.8865 - val_auc_2: 0.9552 Epoch 66/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1136 - acc: 0.9638 - auc_2: 0.9949Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.1103 - acc: 0.9649 - auc_2: 0.9953 - val_loss: 0.1844 - val_acc: 0.9574 - val_auc_2: 0.9914 Epoch 67/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0790 - acc: 0.9703 - auc_2: 0.9978Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0760 - acc: 0.9717 - auc_2: 0.9980 - val_loss: 0.1792 - val_acc: 0.9574 - val_auc_2: 0.9925 Epoch 68/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0585 - acc: 0.9787 - auc_2: 0.9984Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0585 - acc: 0.9792 - auc_2: 0.9984 - val_loss: 0.2018 - val_acc: 0.9433 - val_auc_2: 0.9889 Epoch 69/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0568 - acc: 0.9850 - auc_2: 0.9990Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0598 - acc: 0.9835 - auc_2: 0.9988 - val_loss: 0.3029 - val_acc: 0.9078 - val_auc_2: 0.9667 Epoch 70/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0859 - acc: 0.9645 - auc_2: 0.9982Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0870 - acc: 0.9642 - auc_2: 0.9980 - val_loss: 0.0967 - val_acc: 0.9574 - val_auc_2: 0.9923 Epoch 71/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0604 - acc: 0.9746 - auc_2: 0.9989Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0585 - acc: 0.9763 - auc_2: 0.9990 - val_loss: 0.4070 - val_acc: 0.9433 - val_auc_2: 0.9807 Epoch 72/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0503 - acc: 0.9835 - auc_2: 0.9988Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0536 - acc: 0.9821 - auc_2: 0.9988 - val_loss: 0.3434 - val_acc: 0.9433 - val_auc_2: 0.9846 Epoch 73/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0742 - acc: 0.9740 - auc_2: 0.9978Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0762 - acc: 0.9721 - auc_2: 0.9978 - val_loss: 0.1134 - val_acc: 0.9574 - val_auc_2: 0.9916 Epoch 74/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0566 - acc: 0.9819 - auc_2: 0.9983Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0569 - acc: 0.9814 - auc_2: 0.9984 - val_loss: 0.2884 - val_acc: 0.9504 - val_auc_2: 0.9803 Epoch 75/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0453 - acc: 0.9831 - auc_2: 0.9995Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0441 - acc: 0.9839 - auc_2: 0.9995 - val_loss: 0.2762 - val_acc: 0.9645 - val_auc_2: 0.9856 Epoch 76/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0420 - acc: 0.9842 - auc_2: 0.9995Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0406 - acc: 0.9857 - auc_2: 0.9995 - val_loss: 0.4415 - val_acc: 0.9504 - val_auc_2: 0.9859 Epoch 77/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0485 - acc: 0.9819 - auc_2: 0.9987Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0465 - acc: 0.9824 - auc_2: 0.9987 - val_loss: 0.9317 - val_acc: 0.9362 - val_auc_2: 0.9775 Epoch 78/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0481 - acc: 0.9809 - auc_2: 0.9992Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0516 - acc: 0.9800 - auc_2: 0.9992 - val_loss: 0.1856 - val_acc: 0.9433 - val_auc_2: 0.9799 Epoch 79/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0644 - acc: 0.9787 - auc_2: 0.9981Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0610 - acc: 0.9807 - auc_2: 0.9983 - val_loss: 0.2949 - val_acc: 0.9149 - val_auc_2: 0.9738 Epoch 80/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0489 - acc: 0.9850 - auc_2: 0.9981Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0472 - acc: 0.9864 - auc_2: 0.9983 - val_loss: 0.1142 - val_acc: 0.9574 - val_auc_2: 0.9923 Epoch 81/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0542 - acc: 0.9866 - auc_2: 0.9984Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0514 - acc: 0.9870 - auc_2: 0.9985 - val_loss: 0.4271 - val_acc: 0.8794 - val_auc_2: 0.9520 Epoch 82/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0750 - acc: 0.9713 - auc_2: 0.9970Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0741 - acc: 0.9724 - auc_2: 0.9972 - val_loss: 0.1146 - val_acc: 0.9574 - val_auc_2: 0.9920 Epoch 83/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0444 - acc: 0.9864 - auc_2: 0.9997Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0444 - acc: 0.9862 - auc_2: 0.9997 - val_loss: 0.2274 - val_acc: 0.9433 - val_auc_2: 0.9732 Epoch 84/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0420 - acc: 0.9860 - auc_2: 0.9994Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0421 - acc: 0.9857 - auc_2: 0.9994 - val_loss: 0.2314 - val_acc: 0.9362 - val_auc_2: 0.9781 Epoch 85/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0471 - acc: 0.9835 - auc_2: 0.9994Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0443 - acc: 0.9839 - auc_2: 0.9994 - val_loss: 0.2220 - val_acc: 0.9504 - val_auc_2: 0.9809 Epoch 86/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0301 - acc: 0.9882 - auc_2: 0.9997Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0310 - acc: 0.9886 - auc_2: 0.9997 - val_loss: 0.2122 - val_acc: 0.9433 - val_auc_2: 0.9727 Epoch 87/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0430 - acc: 0.9858 - auc_2: 0.9996Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0438 - acc: 0.9855 - auc_2: 0.9996 - val_loss: 0.2089 - val_acc: 0.9433 - val_auc_2: 0.9801 Epoch 88/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0403 - acc: 0.9866 - auc_2: 0.9988Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0481 - acc: 0.9843 - auc_2: 0.9986 - val_loss: 0.3320 - val_acc: 0.9291 - val_auc_2: 0.9784 Epoch 89/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0356 - acc: 0.9858 - auc_2: 0.9995Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0341 - acc: 0.9871 - auc_2: 0.9996 - val_loss: 0.1790 - val_acc: 0.9574 - val_auc_2: 0.9867 Epoch 90/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0566 - acc: 0.9764 - auc_2: 0.9991Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0541 - acc: 0.9771 - auc_2: 0.9992 - val_loss: 0.5939 - val_acc: 0.9007 - val_auc_2: 0.9639 Epoch 91/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0365 - acc: 0.9882 - auc_2: 0.9996Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0375 - acc: 0.9879 - auc_2: 0.9996 - val_loss: 0.1017 - val_acc: 0.9645 - val_auc_2: 0.9935 Epoch 92/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0760 - acc: 0.9732 - auc_2: 0.9974Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0709 - acc: 0.9740 - auc_2: 0.9975 - val_loss: 0.1831 - val_acc: 0.9574 - val_auc_2: 0.9817 Epoch 93/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0654 - acc: 0.9779 - auc_2: 0.9984Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0629 - acc: 0.9800 - auc_2: 0.9985 - val_loss: 0.3075 - val_acc: 0.9220 - val_auc_2: 0.9737 Epoch 94/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0574 - acc: 0.9819 - auc_2: 0.9970Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0555 - acc: 0.9828 - auc_2: 0.9973 - val_loss: 0.1909 - val_acc: 0.9645 - val_auc_2: 0.9820 Epoch 95/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0351 - acc: 0.9822 - auc_2: 0.9995Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0333 - acc: 0.9839 - auc_2: 0.9996 - val_loss: 0.9604 - val_acc: 0.9220 - val_auc_2: 0.9763 Epoch 96/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0275 - acc: 0.9890 - auc_2: 0.9998Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0270 - acc: 0.9900 - auc_2: 0.9998 - val_loss: 0.6724 - val_acc: 0.9574 - val_auc_2: 0.9808 Epoch 97/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0304 - acc: 0.9890 - auc_2: 0.9996Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0304 - acc: 0.9893 - auc_2: 0.9996 - val_loss: 0.1195 - val_acc: 0.9716 - val_auc_2: 0.9883 Epoch 98/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0242 - acc: 0.9921 - auc_2: 0.9998Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0253 - acc: 0.9914 - auc_2: 0.9998 - val_loss: 0.5461 - val_acc: 0.9574 - val_auc_2: 0.9824 Epoch 99/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0381 - acc: 0.9856 - auc_2: 0.9997Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0392 - acc: 0.9847 - auc_2: 0.9997 - val_loss: 0.6608 - val_acc: 0.9574 - val_auc_2: 0.9816 Epoch 100/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0351 - acc: 0.9827 - auc_2: 0.9996Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0354 - acc: 0.9835 - auc_2: 0.9996 - val_loss: 0.1998 - val_acc: 0.9504 - val_auc_2: 0.9811 Epoch 101/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0357 - acc: 0.9866 - auc_2: 0.9996Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0341 - acc: 0.9871 - auc_2: 0.9996 - val_loss: 0.1509 - val_acc: 0.9645 - val_auc_2: 0.9830 Epoch 102/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0524 - acc: 0.9842 - auc_2: 0.9992Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0532 - acc: 0.9835 - auc_2: 0.9992 - val_loss: 0.7928 - val_acc: 0.8582 - val_auc_2: 0.9498 Epoch 103/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0508 - acc: 0.9780 - auc_2: 0.9983Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0528 - acc: 0.9794 - auc_2: 0.9983 - val_loss: 0.2193 - val_acc: 0.9645 - val_auc_2: 0.9928 Epoch 104/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0260 - acc: 0.9912 - auc_2: 0.9998Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0376 - acc: 0.9900 - auc_2: 0.9997 - val_loss: 0.8709 - val_acc: 0.8936 - val_auc_2: 0.9598 Epoch 105/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0908 - acc: 0.9638 - auc_2: 0.9964Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0873 - acc: 0.9648 - auc_2: 0.9965 - val_loss: 0.1448 - val_acc: 0.9645 - val_auc_2: 0.9860 Epoch 106/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0457 - acc: 0.9890 - auc_2: 0.9990Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0432 - acc: 0.9893 - auc_2: 0.9990 - val_loss: 0.2134 - val_acc: 0.9504 - val_auc_2: 0.9816 Epoch 107/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0510 - acc: 0.9831 - auc_2: 0.9988Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0491 - acc: 0.9835 - auc_2: 0.9988 - val_loss: 0.1880 - val_acc: 0.9645 - val_auc_2: 0.9825 Epoch 108/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0280 - acc: 0.9898 - auc_2: 0.9997Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0308 - acc: 0.9885 - auc_2: 0.9997 - val_loss: 0.3834 - val_acc: 0.9433 - val_auc_2: 0.9816 Epoch 109/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0294 - acc: 0.9905 - auc_2: 0.9992Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0274 - acc: 0.9908 - auc_2: 0.9992 - val_loss: 0.9246 - val_acc: 0.9220 - val_auc_2: 0.9776 Epoch 110/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0247 - acc: 0.9905 - auc_2: 0.9998Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0259 - acc: 0.9900 - auc_2: 0.9998 - val_loss: 0.6640 - val_acc: 0.9574 - val_auc_2: 0.9817 Epoch 111/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0163 - acc: 0.9945 - auc_2: 1.0000Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0162 - acc: 0.9943 - auc_2: 1.0000 - val_loss: 0.5048 - val_acc: 0.9645 - val_auc_2: 0.9827 Epoch 112/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0313 - acc: 0.9913 - auc_2: 0.9992Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0312 - acc: 0.9914 - auc_2: 0.9993 - val_loss: 0.4594 - val_acc: 0.9362 - val_auc_2: 0.9812 Epoch 113/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0332 - acc: 0.9953 - auc_2: 0.9992Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0316 - acc: 0.9957 - auc_2: 0.9993 - val_loss: 0.1043 - val_acc: 0.9787 - val_auc_2: 0.9934 Epoch 114/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0793 - acc: 0.9748 - auc_2: 0.9972Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0751 - acc: 0.9764 - auc_2: 0.9975 - val_loss: 0.3864 - val_acc: 0.9645 - val_auc_2: 0.9825 Epoch 115/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0428 - acc: 0.9866 - auc_2: 0.9993Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0543 - acc: 0.9855 - auc_2: 0.9987 - val_loss: 0.2619 - val_acc: 0.9645 - val_auc_2: 0.9872 Epoch 116/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0332 - acc: 0.9874 - auc_2: 0.9997Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0327 - acc: 0.9871 - auc_2: 0.9997 - val_loss: 0.3575 - val_acc: 0.9504 - val_auc_2: 0.9803 Epoch 117/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0360 - acc: 0.9874 - auc_2: 0.9996Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0336 - acc: 0.9878 - auc_2: 0.9997 - val_loss: 0.3627 - val_acc: 0.9433 - val_auc_2: 0.9791 Epoch 118/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0292 - acc: 0.9926 - auc_2: 0.9998Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0318 - acc: 0.9914 - auc_2: 0.9998 - val_loss: 0.1050 - val_acc: 0.9787 - val_auc_2: 0.9940 Epoch 119/150 12/13 [==========================>...] - ETA: 1s - loss: 0.1063 - acc: 0.9757 - auc_2: 0.9956Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.1095 - acc: 0.9724 - auc_2: 0.9955 - val_loss: 0.3741 - val_acc: 0.9220 - val_auc_2: 0.9774 Epoch 120/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0766 - acc: 0.9685 - auc_2: 0.9981Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0827 - acc: 0.9679 - auc_2: 0.9980 - val_loss: 0.2971 - val_acc: 0.9291 - val_auc_2: 0.9755 Epoch 121/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0587 - acc: 0.9819 - auc_2: 0.9987Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0585 - acc: 0.9817 - auc_2: 0.9987 - val_loss: 0.3105 - val_acc: 0.9504 - val_auc_2: 0.9804 Epoch 122/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0460 - acc: 0.9831 - auc_2: 0.9982Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0458 - acc: 0.9832 - auc_2: 0.9983 - val_loss: 0.1785 - val_acc: 0.9645 - val_auc_2: 0.9824 Epoch 123/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0372 - acc: 0.9881 - auc_2: 0.9997Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0392 - acc: 0.9878 - auc_2: 0.9996 - val_loss: 0.1408 - val_acc: 0.9645 - val_auc_2: 0.9876 Epoch 124/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0327 - acc: 0.9897 - auc_2: 0.9990Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0308 - acc: 0.9900 - auc_2: 0.9991 - val_loss: 0.4733 - val_acc: 0.9574 - val_auc_2: 0.9805 Epoch 125/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0169 - acc: 0.9961 - auc_2: 0.9999Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0168 - acc: 0.9964 - auc_2: 0.9999 - val_loss: 0.3371 - val_acc: 0.9645 - val_auc_2: 0.9825 Epoch 126/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0158 - acc: 0.9953 - auc_2: 1.0000Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0162 - acc: 0.9950 - auc_2: 1.0000 - val_loss: 0.3692 - val_acc: 0.9645 - val_auc_2: 0.9827 Epoch 127/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0224 - acc: 0.9924 - auc_2: 0.9999Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0210 - acc: 0.9931 - auc_2: 0.9999 - val_loss: 1.0244 - val_acc: 0.9574 - val_auc_2: 0.9820 Epoch 128/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0195 - acc: 0.9941 - auc_2: 0.9998Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0187 - acc: 0.9943 - auc_2: 0.9998 - val_loss: 0.9696 - val_acc: 0.9362 - val_auc_2: 0.9806 Epoch 129/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0202 - acc: 0.9937 - auc_2: 0.9999Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0208 - acc: 0.9936 - auc_2: 0.9998 - val_loss: 0.2692 - val_acc: 0.9645 - val_auc_2: 0.9818 Epoch 130/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0328 - acc: 0.9913 - auc_2: 0.9997Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0318 - acc: 0.9914 - auc_2: 0.9997 - val_loss: 0.3312 - val_acc: 0.9645 - val_auc_2: 0.9830 Epoch 131/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0290 - acc: 0.9873 - auc_2: 0.9997Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0276 - acc: 0.9885 - auc_2: 0.9997 - val_loss: 0.4776 - val_acc: 0.9574 - val_auc_2: 0.9815 Epoch 132/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0184 - acc: 0.9921 - auc_2: 0.9999Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0179 - acc: 0.9928 - auc_2: 0.9999 - val_loss: 0.6306 - val_acc: 0.9504 - val_auc_2: 0.9811 Epoch 133/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0136 - acc: 0.9976 - auc_2: 1.0000Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0131 - acc: 0.9979 - auc_2: 1.0000 - val_loss: 0.7172 - val_acc: 0.9645 - val_auc_2: 0.9829 Epoch 134/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0146 - acc: 0.9953 - auc_2: 0.9999Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0167 - acc: 0.9950 - auc_2: 0.9999 - val_loss: 0.3897 - val_acc: 0.9645 - val_auc_2: 0.9832 Epoch 135/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0331 - acc: 0.9907 - auc_2: 0.9998Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0315 - acc: 0.9916 - auc_2: 0.9998 - val_loss: 0.5250 - val_acc: 0.9362 - val_auc_2: 0.9800 Epoch 136/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0190 - acc: 0.9941 - auc_2: 0.9999Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0219 - acc: 0.9928 - auc_2: 0.9999 - val_loss: 0.1693 - val_acc: 0.9787 - val_auc_2: 0.9884 Epoch 137/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0322 - acc: 0.9913 - auc_2: 0.9985Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0346 - acc: 0.9907 - auc_2: 0.9985 - val_loss: 0.3988 - val_acc: 0.9433 - val_auc_2: 0.9812 Epoch 138/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0291 - acc: 0.9905 - auc_2: 0.9991Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0300 - acc: 0.9907 - auc_2: 0.9992 - val_loss: 1.2960 - val_acc: 0.9220 - val_auc_2: 0.9794 Epoch 139/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0250 - acc: 0.9913 - auc_2: 0.9997Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0268 - acc: 0.9908 - auc_2: 0.9997 - val_loss: 0.3402 - val_acc: 0.9716 - val_auc_2: 0.9832 Epoch 140/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0217 - acc: 0.9929 - auc_2: 0.9998Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0207 - acc: 0.9936 - auc_2: 0.9998 - val_loss: 0.4204 - val_acc: 0.9504 - val_auc_2: 0.9823 Epoch 141/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0107 - acc: 0.9968 - auc_2: 1.0000Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0114 - acc: 0.9964 - auc_2: 1.0000 - val_loss: 0.9357 - val_acc: 0.9574 - val_auc_2: 0.9826 Epoch 142/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0120 - acc: 0.9984 - auc_2: 1.0000Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0115 - acc: 0.9985 - auc_2: 1.0000 - val_loss: 1.3517 - val_acc: 0.9078 - val_auc_2: 0.9614 Epoch 143/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0763 - acc: 0.9809 - auc_2: 0.9979Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0811 - acc: 0.9800 - auc_2: 0.9979 - val_loss: 0.7586 - val_acc: 0.9007 - val_auc_2: 0.9449 Epoch 144/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0896 - acc: 0.9701 - auc_2: 0.9962Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0910 - acc: 0.9707 - auc_2: 0.9958 - val_loss: 0.1236 - val_acc: 0.9787 - val_auc_2: 0.9881 Epoch 145/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0463 - acc: 0.9842 - auc_2: 0.9993Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0442 - acc: 0.9857 - auc_2: 0.9994 - val_loss: 0.4011 - val_acc: 0.9574 - val_auc_2: 0.9818 Epoch 146/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0388 - acc: 0.9898 - auc_2: 0.9996Epoch 1/150 13/13 [==============================] - 15s 1s/step - loss: 0.0393 - acc: 0.9901 - auc_2: 0.9996 - val_loss: 0.7245 - val_acc: 0.9645 - val_auc_2: 0.9819 Epoch 147/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0372 - acc: 0.9860 - auc_2: 0.9996Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0385 - acc: 0.9857 - auc_2: 0.9996 - val_loss: 0.6893 - val_acc: 0.9645 - val_auc_2: 0.9829 Epoch 148/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0180 - acc: 0.9968 - auc_2: 0.9999Epoch 1/150 13/13 [==============================] - 17s 1s/step - loss: 0.0178 - acc: 0.9964 - auc_2: 0.9999 - val_loss: 0.2721 - val_acc: 0.9645 - val_auc_2: 0.9808 Epoch 149/150 12/13 [==========================>...] - ETA: 1s - loss: 0.0249 - acc: 0.9921 - auc_2: 0.9998Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0236 - acc: 0.9928 - auc_2: 0.9998 - val_loss: 0.2863 - val_acc: 0.9574 - val_auc_2: 0.9819 Epoch 150/150 12/13 [==========================>...] - ETA: 0s - loss: 0.0186 - acc: 0.9949 - auc_2: 1.0000Epoch 1/150 13/13 [==============================] - 16s 1s/step - loss: 0.0172 - acc: 0.9954 - auc_2: 1.0000 - val_loss: 0.5032 - val_acc: 0.9645 - val_auc_2: 0.9824
score = model.evaluate_generator(generator=test_data_gen,
steps=141)
print("Accuracy: ", score[1])
print("AUC: ", score[2])
Accuracy: 0.97869575 AUC: 0.98836595
epochs = 150
acc = history.history['acc']
val_acc = history.history['val_acc']
loss=history.history['loss']
val_loss=history.history['val_loss']
epochs_range = range(epochs)
plt.figure(figsize=(8, 8))
plt.subplot(1, 2, 1)
plt.plot(epochs_range, acc, label='Training Accuracy')
plt.plot(epochs_range, val_acc, label='Validation Accuracy')
plt.legend(loc='lower right')
plt.title('Training and Validation Accuracy')
plt.subplot(1, 2, 2)
plt.plot(epochs_range, loss, label='Training Loss')
plt.plot(epochs_range, val_loss, label='Validation Loss')
plt.legend(loc='upper right')
plt.title('Training and Validation Loss')
plt.show()
with tf.device('/device:GPU:0'): #"/GPU:0": Short-hand notation for the first GPU of your machine that is visible to TensorFlow.
def fire(x, squeeze, expand):
y = tf.keras.layers.Conv2D(filters=squeeze, kernel_size=1, activation='relu', padding='same')(x)
y = tf.keras.layers.BatchNormalization()(y)
y1 = tf.keras.layers.Conv2D(filters=expand//2, kernel_size=1, activation='relu', padding='same')(y)
y1 = tf.keras.layers.BatchNormalization()(y1)
y3 = tf.keras.layers.Conv2D(filters=expand//2, kernel_size=5, activation='relu', padding='same')(y)
y3 = tf.keras.layers.BatchNormalization()(y3)
return tf.keras.layers.concatenate([y1, y3])
def fire_module(squeeze, expand):
return lambda x: fire(x, squeeze, expand)
x = tf.keras.layers.Input(shape=[150,150, 3]) # input is 150x150 pixels RGB
y = tf.keras.layers.Conv2D(kernel_size=3, filters=96, padding='same', activation='relu')(x)
y = tf.keras.layers.BatchNormalization()(y)
y = fire_module(24, 48)(y)
y = tf.keras.layers.MaxPooling2D(pool_size=2)(y)
y = fire_module(48, 96)(y)
y = tf.keras.layers.MaxPooling2D(pool_size=2)(y)
y = fire_module(64, 128)(y)
y = tf.keras.layers.MaxPooling2D(pool_size=2)(y)
y = fire_module(72, 256)(y)
y = tf.keras.layers.MaxPooling2D(pool_size=2)(y)
y = fire_module(96, 512)(y)
y = tf.keras.layers.GlobalAveragePooling2D()(y) # Takes average of h x w for each channel and returns 1 scalar value per channel
y = tf.keras.layers.Dense(3, activation='softmax')(y)
model = tf.keras.Model(x, y)
model.compile(
optimizer='adam',
loss= 'categorical_crossentropy',
metrics=['accuracy','AUC'])
history = model.fit(
train_data_gen,
steps_per_epoch=total_train // batch_size, #adjusts training process for new image batches
epochs=120,
validation_data=val_data_gen,
validation_steps=total_val // batch_size
)
Epoch 1/120 12/13 [==========================>...] - ETA: 5s - loss: 0.5154 - acc: 0.7951 - auc_4: 0.9410 Epoch 1/120 13/13 [==============================] - 185s 14s/step - loss: 0.4867 - acc: 0.8005 - auc_4: 0.9432 - val_loss: 1.1280 - val_acc: 0.3830 - val_auc_4: 0.5129 Epoch 2/120 12/13 [==========================>...] - ETA: 0s - loss: 0.1203 - acc: 0.9595 - auc_4: 0.9951Epoch 1/120 13/13 [==============================] - 14s 1s/step - loss: 0.1216 - acc: 0.9592 - auc_4: 0.9951 - val_loss: 1.1964 - val_acc: 0.3830 - val_auc_4: 0.5952 Epoch 3/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0721 - acc: 0.9771 - auc_4: 0.9985Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0709 - acc: 0.9778 - auc_4: 0.9985 - val_loss: 1.5409 - val_acc: 0.3830 - val_auc_4: 0.5329 Epoch 4/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0648 - acc: 0.9811 - auc_4: 0.9986Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0643 - acc: 0.9807 - auc_4: 0.9987 - val_loss: 1.6374 - val_acc: 0.3830 - val_auc_4: 0.5590 Epoch 5/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0394 - acc: 0.9858 - auc_4: 0.9997Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0392 - acc: 0.9864 - auc_4: 0.9997 - val_loss: 1.8304 - val_acc: 0.3830 - val_auc_4: 0.5561 Epoch 6/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0479 - acc: 0.9898 - auc_4: 0.9986Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0492 - acc: 0.9885 - auc_4: 0.9986 - val_loss: 1.8905 - val_acc: 0.3830 - val_auc_4: 0.5574 Epoch 7/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0552 - acc: 0.9845 - auc_4: 0.9987Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0512 - acc: 0.9859 - auc_4: 0.9989 - val_loss: 1.1128 - val_acc: 0.3830 - val_auc_4: 0.4601 Epoch 8/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0266 - acc: 0.9949 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0284 - acc: 0.9939 - auc_4: 0.9998 - val_loss: 2.3204 - val_acc: 0.3830 - val_auc_4: 0.5059 Epoch 9/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0273 - acc: 0.9929 - auc_4: 0.9998Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0258 - acc: 0.9936 - auc_4: 0.9998 - val_loss: 3.9121 - val_acc: 0.3830 - val_auc_4: 0.5322 Epoch 10/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0205 - acc: 0.9929 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0193 - acc: 0.9936 - auc_4: 0.9999 - val_loss: 3.6646 - val_acc: 0.3830 - val_auc_4: 0.5238 Epoch 11/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0277 - acc: 0.9924 - auc_4: 0.9998Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0312 - acc: 0.9901 - auc_4: 0.9998 - val_loss: 1.6060 - val_acc: 0.3759 - val_auc_4: 0.5133 Epoch 12/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0329 - acc: 0.9898 - auc_4: 0.9998Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0352 - acc: 0.9885 - auc_4: 0.9997 - val_loss: 2.0611 - val_acc: 0.3830 - val_auc_4: 0.4543 Epoch 13/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0840 - acc: 0.9779 - auc_4: 0.9949Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0804 - acc: 0.9786 - auc_4: 0.9951 - val_loss: 1.4675 - val_acc: 0.3759 - val_auc_4: 0.6047 Epoch 14/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0243 - acc: 0.9882 - auc_4: 0.9998Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0248 - acc: 0.9879 - auc_4: 0.9998 - val_loss: 4.1127 - val_acc: 0.3830 - val_auc_4: 0.5245 Epoch 15/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0471 - acc: 0.9890 - auc_4: 0.9986Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0442 - acc: 0.9893 - auc_4: 0.9987 - val_loss: 4.2447 - val_acc: 0.3830 - val_auc_4: 0.5152 Epoch 16/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0371 - acc: 0.9847 - auc_4: 0.9997Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0380 - acc: 0.9832 - auc_4: 0.9996 - val_loss: 8.6011 - val_acc: 0.3830 - val_auc_4: 0.5372 Epoch 17/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0473 - acc: 0.9866 - auc_4: 0.9983Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0460 - acc: 0.9864 - auc_4: 0.9984 - val_loss: 3.2103 - val_acc: 0.3050 - val_auc_4: 0.4624 Epoch 18/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0459 - acc: 0.9866 - auc_4: 0.9989Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0483 - acc: 0.9862 - auc_4: 0.9988 - val_loss: 5.2861 - val_acc: 0.3830 - val_auc_4: 0.4957 Epoch 19/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0410 - acc: 0.9882 - auc_4: 0.9992Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0425 - acc: 0.9865 - auc_4: 0.9992 - val_loss: 4.4852 - val_acc: 0.3688 - val_auc_4: 0.5363 Epoch 20/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0251 - acc: 0.9949 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0237 - acc: 0.9946 - auc_4: 0.9999 - val_loss: 3.6495 - val_acc: 0.4255 - val_auc_4: 0.5646 Epoch 21/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0338 - acc: 0.9898 - auc_4: 0.9992Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0319 - acc: 0.9907 - auc_4: 0.9993 - val_loss: 1.3395 - val_acc: 0.5816 - val_auc_4: 0.7100 Epoch 22/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0188 - acc: 0.9937 - auc_4: 0.9998Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0177 - acc: 0.9943 - auc_4: 0.9998 - val_loss: 2.5919 - val_acc: 0.4752 - val_auc_4: 0.6873 Epoch 23/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0120 - acc: 0.9961 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0114 - acc: 0.9964 - auc_4: 1.0000 - val_loss: 3.1443 - val_acc: 0.4184 - val_auc_4: 0.6315 Epoch 24/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0126 - acc: 0.9958 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0125 - acc: 0.9954 - auc_4: 1.0000 - val_loss: 4.1393 - val_acc: 0.4610 - val_auc_4: 0.6375 Epoch 25/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0225 - acc: 0.9921 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0213 - acc: 0.9924 - auc_4: 0.9999 - val_loss: 3.9320 - val_acc: 0.4681 - val_auc_4: 0.6505 Epoch 26/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0122 - acc: 0.9948 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0115 - acc: 0.9953 - auc_4: 1.0000 - val_loss: 1.9464 - val_acc: 0.5461 - val_auc_4: 0.6896 Epoch 27/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0060 - acc: 0.9976 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0059 - acc: 0.9979 - auc_4: 1.0000 - val_loss: 2.9276 - val_acc: 0.4894 - val_auc_4: 0.6158 Epoch 28/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0126 - acc: 0.9975 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0137 - acc: 0.9969 - auc_4: 1.0000 - val_loss: 1.2306 - val_acc: 0.6099 - val_auc_4: 0.8016 Epoch 29/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0487 - acc: 0.9913 - auc_4: 0.9998Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0444 - acc: 0.9916 - auc_4: 0.9998 - val_loss: 1.9929 - val_acc: 0.4894 - val_auc_4: 0.6338 Epoch 30/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0773 - acc: 0.9772 - auc_4: 0.9987Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0707 - acc: 0.9791 - auc_4: 0.9988 - val_loss: 2.6189 - val_acc: 0.6241 - val_auc_4: 0.7314 Epoch 31/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0443 - acc: 0.9915 - auc_4: 0.9990Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0421 - acc: 0.9916 - auc_4: 0.9991 - val_loss: 1.6077 - val_acc: 0.6879 - val_auc_4: 0.8199 Epoch 32/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0261 - acc: 0.9898 - auc_4: 0.9998Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0250 - acc: 0.9907 - auc_4: 0.9998 - val_loss: 0.6927 - val_acc: 0.8085 - val_auc_4: 0.9345 Epoch 33/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0465 - acc: 0.9905 - auc_4: 0.9998Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0426 - acc: 0.9907 - auc_4: 0.9998 - val_loss: 1.0926 - val_acc: 0.7234 - val_auc_4: 0.8617 Epoch 34/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0483 - acc: 0.9811 - auc_4: 0.9988Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0452 - acc: 0.9828 - auc_4: 0.9989 - val_loss: 0.8491 - val_acc: 0.8369 - val_auc_4: 0.9580 Epoch 35/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0154 - acc: 0.9961 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0181 - acc: 0.9950 - auc_4: 0.9999 - val_loss: 1.7105 - val_acc: 0.8014 - val_auc_4: 0.9018 Epoch 36/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0332 - acc: 0.9864 - auc_4: 0.9991Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0360 - acc: 0.9855 - auc_4: 0.9991 - val_loss: 0.3394 - val_acc: 0.8794 - val_auc_4: 0.9653 Epoch 37/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0195 - acc: 0.9945 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0184 - acc: 0.9946 - auc_4: 0.9999 - val_loss: 0.3059 - val_acc: 0.9291 - val_auc_4: 0.9816 Epoch 38/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0158 - acc: 0.9934 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0152 - acc: 0.9939 - auc_4: 0.9999 - val_loss: 0.1432 - val_acc: 0.9716 - val_auc_4: 0.9916 Epoch 39/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0164 - acc: 0.9966 - auc_4: 0.9986Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0154 - acc: 0.9969 - auc_4: 0.9988 - val_loss: 0.0470 - val_acc: 0.9716 - val_auc_4: 0.9976 Epoch 40/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0155 - acc: 0.9968 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0147 - acc: 0.9971 - auc_4: 1.0000 - val_loss: 0.1049 - val_acc: 0.9645 - val_auc_4: 0.9926 Epoch 41/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0045 - acc: 0.9992 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0045 - acc: 0.9993 - auc_4: 1.0000 - val_loss: 0.1734 - val_acc: 0.9504 - val_auc_4: 0.9913 Epoch 42/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0278 - acc: 0.9945 - auc_4: 0.9989Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0253 - acc: 0.9950 - auc_4: 0.9990 - val_loss: 0.1529 - val_acc: 0.9362 - val_auc_4: 0.9841 Epoch 43/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0122 - acc: 0.9953 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0126 - acc: 0.9957 - auc_4: 1.0000 - val_loss: 0.8113 - val_acc: 0.7660 - val_auc_4: 0.8867 Epoch 44/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0091 - acc: 0.9984 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0120 - acc: 0.9977 - auc_4: 1.0000 - val_loss: 0.5467 - val_acc: 0.9433 - val_auc_4: 0.9752 Epoch 45/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0096 - acc: 0.9968 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0091 - acc: 0.9971 - auc_4: 1.0000 - val_loss: 0.1736 - val_acc: 0.9574 - val_auc_4: 0.9883 Epoch 46/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0194 - acc: 0.9984 - auc_4: 0.9994Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0175 - acc: 0.9986 - auc_4: 0.9994 - val_loss: 0.3674 - val_acc: 0.8936 - val_auc_4: 0.9749 Epoch 47/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0133 - acc: 0.9968 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0122 - acc: 0.9969 - auc_4: 1.0000 - val_loss: 1.1354 - val_acc: 0.8440 - val_auc_4: 0.9485 Epoch 48/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0125 - acc: 0.9961 - auc_4: 0.9994Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0142 - acc: 0.9957 - auc_4: 0.9994 - val_loss: 0.3451 - val_acc: 0.9645 - val_auc_4: 0.9873 Epoch 49/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0062 - acc: 0.9976 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0058 - acc: 0.9979 - auc_4: 1.0000 - val_loss: 0.4730 - val_acc: 0.9433 - val_auc_4: 0.9752 Epoch 50/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0369 - acc: 0.9945 - auc_4: 0.9993Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0333 - acc: 0.9943 - auc_4: 0.9994 - val_loss: 1.6509 - val_acc: 0.9007 - val_auc_4: 0.9379 Epoch 51/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0376 - acc: 0.9842 - auc_4: 0.9995Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0370 - acc: 0.9850 - auc_4: 0.9996 - val_loss: 1.1402 - val_acc: 0.8652 - val_auc_4: 0.9346 Epoch 52/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0166 - acc: 0.9945 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0193 - acc: 0.9939 - auc_4: 0.9999 - val_loss: 3.3035 - val_acc: 0.8014 - val_auc_4: 0.8691 Epoch 53/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0240 - acc: 0.9921 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0257 - acc: 0.9916 - auc_4: 0.9999 - val_loss: 7.9082 - val_acc: 0.5106 - val_auc_4: 0.6344 Epoch 54/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0202 - acc: 0.9945 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0201 - acc: 0.9943 - auc_4: 0.9999 - val_loss: 2.6750 - val_acc: 0.6525 - val_auc_4: 0.7926 Epoch 55/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0179 - acc: 0.9937 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0192 - acc: 0.9936 - auc_4: 0.9999 - val_loss: 0.4579 - val_acc: 0.8936 - val_auc_4: 0.9694 Epoch 56/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0347 - acc: 0.9956 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0343 - acc: 0.9950 - auc_4: 0.9999 - val_loss: 1.5020 - val_acc: 0.7801 - val_auc_4: 0.8958 Epoch 57/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0183 - acc: 0.9945 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0178 - acc: 0.9950 - auc_4: 0.9999 - val_loss: 2.2464 - val_acc: 0.7447 - val_auc_4: 0.8860 Epoch 58/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0159 - acc: 0.9958 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0150 - acc: 0.9962 - auc_4: 1.0000 - val_loss: 2.2405 - val_acc: 0.7943 - val_auc_4: 0.9000 Epoch 59/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0086 - acc: 0.9971 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0096 - acc: 0.9966 - auc_4: 1.0000 - val_loss: 0.9635 - val_acc: 0.8369 - val_auc_4: 0.9308 Epoch 60/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0132 - acc: 0.9976 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0122 - acc: 0.9977 - auc_4: 1.0000 - val_loss: 0.1039 - val_acc: 0.9645 - val_auc_4: 0.9929 Epoch 61/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0477 - acc: 0.9913 - auc_4: 0.9988Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0444 - acc: 0.9914 - auc_4: 0.9989 - val_loss: 0.3802 - val_acc: 0.9504 - val_auc_4: 0.9768 Epoch 62/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0369 - acc: 0.9898 - auc_4: 0.9992Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0337 - acc: 0.9901 - auc_4: 0.9993 - val_loss: 0.7125 - val_acc: 0.8794 - val_auc_4: 0.9507 Epoch 63/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0195 - acc: 0.9934 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0495 - acc: 0.9893 - auc_4: 0.9997 - val_loss: 0.9375 - val_acc: 0.8582 - val_auc_4: 0.9430 Epoch 64/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0416 - acc: 0.9845 - auc_4: 0.9995Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0506 - acc: 0.9843 - auc_4: 0.9990 - val_loss: 0.4673 - val_acc: 0.9362 - val_auc_4: 0.9750 Epoch 65/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0241 - acc: 0.9945 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0259 - acc: 0.9928 - auc_4: 0.9999 - val_loss: 1.2259 - val_acc: 0.8936 - val_auc_4: 0.9559 Epoch 66/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0113 - acc: 0.9976 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0134 - acc: 0.9964 - auc_4: 1.0000 - val_loss: 1.2230 - val_acc: 0.8723 - val_auc_4: 0.9453 Epoch 67/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0252 - acc: 0.9945 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0231 - acc: 0.9946 - auc_4: 0.9999 - val_loss: 1.7568 - val_acc: 0.8865 - val_auc_4: 0.9411 Epoch 68/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0132 - acc: 0.9961 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0125 - acc: 0.9964 - auc_4: 1.0000 - val_loss: 2.4362 - val_acc: 0.9149 - val_auc_4: 0.9585 Epoch 69/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0087 - acc: 0.9968 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0083 - acc: 0.9971 - auc_4: 1.0000 - val_loss: 1.6844 - val_acc: 0.9078 - val_auc_4: 0.9436 Epoch 70/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0089 - acc: 0.9976 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0084 - acc: 0.9979 - auc_4: 1.0000 - val_loss: 0.9623 - val_acc: 0.9362 - val_auc_4: 0.9714 Epoch 71/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0111 - acc: 0.9949 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0104 - acc: 0.9954 - auc_4: 1.0000 - val_loss: 0.4772 - val_acc: 0.9220 - val_auc_4: 0.9583 Epoch 72/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0077 - acc: 0.9992 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0071 - acc: 0.9993 - auc_4: 1.0000 - val_loss: 0.5359 - val_acc: 0.9078 - val_auc_4: 0.9620 Epoch 73/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0100 - acc: 0.9976 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0093 - acc: 0.9979 - auc_4: 1.0000 - val_loss: 0.2771 - val_acc: 0.9433 - val_auc_4: 0.9820 Epoch 74/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0097 - acc: 0.9968 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0090 - acc: 0.9969 - auc_4: 1.0000 - val_loss: 0.8567 - val_acc: 0.9433 - val_auc_4: 0.9821 Epoch 75/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0094 - acc: 0.9992 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0087 - acc: 0.9993 - auc_4: 1.0000 - val_loss: 0.2505 - val_acc: 0.9858 - val_auc_4: 0.9943 Epoch 76/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0048 - acc: 0.9984 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0045 - acc: 0.9986 - auc_4: 1.0000 - val_loss: 0.2382 - val_acc: 0.9787 - val_auc_4: 0.9941 Epoch 77/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0031 - acc: 0.9992 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0028 - acc: 0.9993 - auc_4: 1.0000 - val_loss: 0.5721 - val_acc: 0.9716 - val_auc_4: 0.9835 Epoch 78/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0014 - acc: 1.0000 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0014 - acc: 1.0000 - auc_4: 1.0000 - val_loss: 0.5414 - val_acc: 0.9716 - val_auc_4: 0.9834 Epoch 79/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0014 - acc: 1.0000 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0014 - acc: 1.0000 - auc_4: 1.0000 - val_loss: 0.4139 - val_acc: 0.9716 - val_auc_4: 0.9836 Epoch 80/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0053 - acc: 0.9976 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0050 - acc: 0.9979 - auc_4: 1.0000 - val_loss: 0.1652 - val_acc: 0.9787 - val_auc_4: 0.9837 Epoch 81/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0136 - acc: 0.9976 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0160 - acc: 0.9964 - auc_4: 1.0000 - val_loss: 0.0632 - val_acc: 0.9787 - val_auc_4: 0.9943 Epoch 82/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0363 - acc: 0.9890 - auc_4: 0.9986Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0338 - acc: 0.9893 - auc_4: 0.9987 - val_loss: 0.2042 - val_acc: 0.9433 - val_auc_4: 0.9799 Epoch 83/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0251 - acc: 0.9926 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0241 - acc: 0.9926 - auc_4: 0.9999 - val_loss: 0.1599 - val_acc: 0.9858 - val_auc_4: 0.9936 Epoch 84/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0104 - acc: 0.9975 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0099 - acc: 0.9977 - auc_4: 1.0000 - val_loss: 0.0859 - val_acc: 0.9716 - val_auc_4: 0.9937 Epoch 85/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0163 - acc: 0.9961 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0178 - acc: 0.9954 - auc_4: 0.9999 - val_loss: 0.2652 - val_acc: 0.9645 - val_auc_4: 0.9825 Epoch 86/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0044 - acc: 0.9993 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0041 - acc: 0.9993 - auc_4: 1.0000 - val_loss: 0.0594 - val_acc: 0.9858 - val_auc_4: 0.9943 Epoch 87/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0037 - acc: 1.0000 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0034 - acc: 1.0000 - auc_4: 1.0000 - val_loss: 0.0870 - val_acc: 0.9787 - val_auc_4: 0.9942 Epoch 88/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0034 - acc: 0.9992 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0031 - acc: 0.9993 - auc_4: 1.0000 - val_loss: 0.1299 - val_acc: 0.9787 - val_auc_4: 0.9938 Epoch 89/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0114 - acc: 0.9961 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0104 - acc: 0.9964 - auc_4: 1.0000 - val_loss: 0.0243 - val_acc: 0.9858 - val_auc_4: 0.9996 Epoch 90/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0113 - acc: 0.9976 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0129 - acc: 0.9977 - auc_4: 1.0000 - val_loss: 0.1511 - val_acc: 0.9362 - val_auc_4: 0.9910 Epoch 91/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0140 - acc: 0.9937 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0130 - acc: 0.9943 - auc_4: 1.0000 - val_loss: 0.6011 - val_acc: 0.8865 - val_auc_4: 0.9626 Epoch 92/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0198 - acc: 0.9961 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0209 - acc: 0.9957 - auc_4: 0.9999 - val_loss: 1.0560 - val_acc: 0.8511 - val_auc_4: 0.9200 Epoch 93/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0135 - acc: 0.9945 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0126 - acc: 0.9946 - auc_4: 0.9999 - val_loss: 0.0900 - val_acc: 0.9787 - val_auc_4: 0.9941 Epoch 94/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0050 - acc: 0.9985 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0060 - acc: 0.9980 - auc_4: 1.0000 - val_loss: 0.1859 - val_acc: 0.9787 - val_auc_4: 0.9889 Epoch 95/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0023 - acc: 1.0000 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0022 - acc: 1.0000 - auc_4: 1.0000 - val_loss: 0.2238 - val_acc: 0.9574 - val_auc_4: 0.9821 Epoch 96/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0024 - acc: 1.0000 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0022 - acc: 1.0000 - auc_4: 1.0000 - val_loss: 0.1098 - val_acc: 0.9787 - val_auc_4: 0.9890 Epoch 97/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0034 - acc: 0.9992 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0047 - acc: 0.9986 - auc_4: 1.0000 - val_loss: 0.1443 - val_acc: 0.9787 - val_auc_4: 0.9888 Epoch 98/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0038 - acc: 0.9984 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0034 - acc: 0.9986 - auc_4: 1.0000 - val_loss: 0.3147 - val_acc: 0.9645 - val_auc_4: 0.9886 Epoch 99/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0050 - acc: 0.9992 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0057 - acc: 0.9985 - auc_4: 1.0000 - val_loss: 0.0917 - val_acc: 0.9858 - val_auc_4: 0.9945 Epoch 100/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0052 - acc: 0.9968 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0049 - acc: 0.9971 - auc_4: 1.0000 - val_loss: 0.0477 - val_acc: 0.9787 - val_auc_4: 0.9987 Epoch 101/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0022 - acc: 1.0000 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0021 - acc: 1.0000 - auc_4: 1.0000 - val_loss: 0.0270 - val_acc: 0.9929 - val_auc_4: 0.9945 Epoch 102/120 12/13 [==========================>...] - ETA: 1s - loss: 9.5364e-04 - acc: 1.0000 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 9.4422e-04 - acc: 1.0000 - auc_4: 1.0000 - val_loss: 0.0362 - val_acc: 0.9787 - val_auc_4: 0.9945 Epoch 103/120 12/13 [==========================>...] - ETA: 1s - loss: 7.8944e-04 - acc: 1.0000 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 7.3878e-04 - acc: 1.0000 - auc_4: 1.0000 - val_loss: 0.0423 - val_acc: 0.9787 - val_auc_4: 0.9944 Epoch 104/120 12/13 [==========================>...] - ETA: 1s - loss: 9.1171e-04 - acc: 1.0000 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 8.5939e-04 - acc: 1.0000 - auc_4: 1.0000 - val_loss: 0.0397 - val_acc: 0.9787 - val_auc_4: 0.9944 Epoch 105/120 12/13 [==========================>...] - ETA: 0s - loss: 8.7168e-04 - acc: 1.0000 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 8.0350e-04 - acc: 1.0000 - auc_4: 1.0000 - val_loss: 0.0527 - val_acc: 0.9787 - val_auc_4: 0.9942 Epoch 106/120 12/13 [==========================>...] - ETA: 1s - loss: 2.8901e-04 - acc: 1.0000 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 2.9366e-04 - acc: 1.0000 - auc_4: 1.0000 - val_loss: 0.0553 - val_acc: 0.9787 - val_auc_4: 0.9942 Epoch 107/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0013 - acc: 1.0000 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0015 - acc: 1.0000 - auc_4: 1.0000 - val_loss: 0.0457 - val_acc: 0.9787 - val_auc_4: 0.9943 Epoch 108/120 12/13 [==========================>...] - ETA: 1s - loss: 4.5421e-04 - acc: 1.0000 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 4.2526e-04 - acc: 1.0000 - auc_4: 1.0000 - val_loss: 0.0434 - val_acc: 0.9929 - val_auc_4: 0.9945 Epoch 109/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0054 - acc: 0.9984 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0112 - acc: 0.9977 - auc_4: 1.0000 - val_loss: 0.1251 - val_acc: 0.9716 - val_auc_4: 0.9930 Epoch 110/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0041 - acc: 0.9978 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0041 - acc: 0.9980 - auc_4: 1.0000 - val_loss: 0.0407 - val_acc: 0.9858 - val_auc_4: 0.9997 Epoch 111/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0082 - acc: 0.9984 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0093 - acc: 0.9979 - auc_4: 1.0000 - val_loss: 0.0777 - val_acc: 0.9645 - val_auc_4: 0.9936 Epoch 112/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0112 - acc: 0.9958 - auc_4: 0.9999Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0105 - acc: 0.9962 - auc_4: 1.0000 - val_loss: 0.3720 - val_acc: 0.9716 - val_auc_4: 0.9882 Epoch 113/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0130 - acc: 0.9961 - auc_4: 0.9994Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0123 - acc: 0.9964 - auc_4: 0.9994 - val_loss: 0.2714 - val_acc: 0.9787 - val_auc_4: 0.9835 Epoch 114/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0163 - acc: 0.9984 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0147 - acc: 0.9985 - auc_4: 1.0000 - val_loss: 0.2050 - val_acc: 0.9645 - val_auc_4: 0.9836 Epoch 115/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0220 - acc: 0.9941 - auc_4: 0.9988Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0211 - acc: 0.9946 - auc_4: 0.9989 - val_loss: 2.7868 - val_acc: 0.8227 - val_auc_4: 0.9048 Epoch 116/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0295 - acc: 0.9966 - auc_4: 0.9993Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0269 - acc: 0.9969 - auc_4: 0.9994 - val_loss: 9.4411 - val_acc: 0.6525 - val_auc_4: 0.7468 Epoch 117/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0070 - acc: 0.9992 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0064 - acc: 0.9993 - auc_4: 1.0000 - val_loss: 6.5636 - val_acc: 0.6879 - val_auc_4: 0.8168 Epoch 118/120 12/13 [==========================>...] - ETA: 0s - loss: 0.0060 - acc: 0.9966 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 15s 1s/step - loss: 0.0061 - acc: 0.9969 - auc_4: 1.0000 - val_loss: 0.7585 - val_acc: 0.9078 - val_auc_4: 0.9674 Epoch 119/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0072 - acc: 0.9984 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 16s 1s/step - loss: 0.0067 - acc: 0.9986 - auc_4: 1.0000 - val_loss: 0.4742 - val_acc: 0.9149 - val_auc_4: 0.9610 Epoch 120/120 12/13 [==========================>...] - ETA: 1s - loss: 0.0056 - acc: 0.9976 - auc_4: 1.0000Epoch 1/120 13/13 [==============================] - 17s 1s/step - loss: 0.0053 - acc: 0.9979 - auc_4: 1.0000 - val_loss: 0.4800 - val_acc: 0.9007 - val_auc_4: 0.9608
score = model.evaluate_generator(generator=test_data_gen,
steps=141)
print("Accuracy: ", score[1])
print("AUC: ", score[2])
Accuracy: 0.90788156 AUC: 0.96686494
epochs = 120
acc = history.history['acc']
val_acc = history.history['val_acc']
loss=history.history['loss']
val_loss=history.history['val_loss']
epochs_range = range(epochs)
plt.figure(figsize=(8, 8))
plt.subplot(1, 2, 1)
plt.plot(epochs_range, acc, label='Training Accuracy')
plt.plot(epochs_range, val_acc, label='Validation Accuracy')
plt.legend(loc='lower right')
plt.title('Training and Validation Accuracy')
plt.subplot(1, 2, 2)
plt.plot(epochs_range, loss, label='Training Loss')
plt.plot(epochs_range, val_loss, label='Validation Loss')
plt.legend(loc='upper right')
plt.title('Training and Validation Loss')
plt.show()
The best performing model was the Squeezenet model achieving an AUC of 0.9883659 and accuracy of 0.97869575 on test data.
Only complete this section once
### open tgz file to get images
### only need to do once
# !tar -xvzf "/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/102flowers.tgz" -C '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/all_flowers'
base_path = '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/all_flowers/jpg/'
imagefold = os.path.join(base_path)
file_names = os.listdir(imagefold)
full_path = [os.path.join(imagefold, file_name) for file_name in file_names]
# total number of images
len(full_path)
# import flower names that correspond with categories
import json
path='/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/'
with open(path+'cat_to_name.json') as f:
name_cat = json.load(f)
im_labels = list(im_labels.values())
im_labels = [item for sublist in im_labels for item in sublist]
# sort list of paths
full_path.sort()
# full_path
len(set(im_labels))
102
len(im_labels)
8189
len(set(full_path))
8189
# ======Train test split resized images======
# train = 60%
# validation = 20%
# test = 20%
X_train, X_test, y_train, y_test = train_test_split(
full_path, im_labels, test_size=0.2, random_state=99)
X_train, X_val, y_train, y_val = train_test_split(
X_train, y_train, test_size=0.25, random_state=99)
### create new train/validation/test image folders
newpath = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/all_flowers/jpg/train_img/'
if not os.path.exists(newpath):
os.makedirs(newpath)
newpath = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/all_flowers/jpg/val_img/'
if not os.path.exists(newpath):
os.makedirs(newpath)
newpath = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/all_flowers/jpg/test_img/'
if not os.path.exists(newpath):
os.makedirs(newpath)
### move respective images to each folder
train_path = '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/all_flowers/jpg/train_img/'
for file in X_train:
shutil.copy(file, train_path)
val_path = '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/all_flowers/jpg/val_img/'
for file in X_val:
shutil.copy(file, val_path)
test_path = '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/all_flowers/jpg/test_img/'
for file in X_test:
shutil.copy(file, test_path)
Create class folder for train/validation/test images
# set directory paths
p = '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/all_flowers/'
# create classes folders in subdirectories
for id in list(set(y_train)):
os.makedirs(p+'jpg/train_img/'+'class_'+str(id))
for id in list(set(y_train)):
os.makedirs(p+'jpg/val_img/'+'class_'+str(id))
for id in list(set(y_train)):
os.makedirs(p+'jpg/test_img/'+'class_'+str(id))
curr_path = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/all_flowers/jpg/train_img/'
for file, id in zip(X_train,y_train):
shutil.copy(curr_path+file[-15:], curr_path+'class_'+str(id)+'/')
curr_path = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/all_flowers/jpg/val_img/'
for file, id in zip(X_val,y_val):
shutil.copy(curr_path+file[-15:], curr_path+'class_'+str(id)+'/')
curr_path = '/content/drive/MyDrive/Adv. Machine Learning/Code/Final_project/all_flowers/jpg/test_img/'
for file, id in zip(X_test,y_test):
shutil.copy(curr_path+file[-15:], curr_path+'class_'+str(id)+'/')
p = '/content/drive/My Drive/Adv. Machine Learning/Code/Final_project/all_flowers/'
train_dir = os.path.join(p, 'jpg/train_img/')
validation_dir = os.path.join(p, 'jpg/val_img/')
test_dir = os.path.join(p, 'jpg/test_img/')
batch_size = 300
IMG_HEIGHT = 150
IMG_WIDTH = 150
from tensorflow.keras.preprocessing.image import ImageDataGenerator
# I don't include additional data augmention due to the large size of the dataset
train_image_generator = ImageDataGenerator(rescale=1./255)
train_data_gen = train_image_generator.flow_from_directory(batch_size=batch_size,
directory=train_dir, # reading in from folder where subfolders are target names
shuffle=True,
target_size=(IMG_HEIGHT, IMG_WIDTH),
class_mode="categorical")
Found 4913 images belonging to 102 classes.
validation_image_generator = ImageDataGenerator(rescale=1./255) # Generator for our validation data
val_data_gen = validation_image_generator.flow_from_directory(batch_size=batch_size,
directory=validation_dir,
target_size=(IMG_HEIGHT, IMG_WIDTH),
class_mode='categorical')
Found 1638 images belonging to 102 classes.
test_image_generator = ImageDataGenerator(rescale=1./255) # Generator for our validation data
test_data_gen = test_image_generator.flow_from_directory(batch_size=batch_size,
directory=test_dir,
target_size=(IMG_HEIGHT, IMG_WIDTH),
class_mode='categorical')
Found 1638 images belonging to 102 classes.
Sample of training images
sample_training_images,_= next(train_data_gen)
sample_training_images.shape
(128, 150, 150, 3)
def plotImages(images_arr):
fig, axes = plt.subplots(1, 5, figsize=(20,20))
axes = axes.flatten()
for img, ax in zip( images_arr, axes):
# flower_name = name_cat[str(title)]
# title_str = " ".join(["Label: ",str(title)])
# ax.set_title("\n".join([title_str,flower_name]), fontdict=None, loc='center', color = "k")
ax.imshow(img)
ax.axis('off')
plt.tight_layout()
plt.show()
plotImages(sample_training_images[5:10])
plotImages(sample_training_images[30:35])
sample_test_images,_= next(test_data_gen)
plotImages(sample_test_images[5:10])
plotImages(sample_test_images[20:25])
total_train = 4913
total_val = 1638
l = tf.keras.layers
# Create function to define fire modules
def fire(x, squeeze, expand):
y = l.Conv2D(filters=squeeze, kernel_size=1, padding='same', activation='relu')(x)
y1 = l.Conv2D(filters=expand//2, kernel_size=1, padding='same', activation='relu')(y) # note: //2 takes input value and divides by 2, so we reach the dimensions requested with stacking later.
y3 = l.Conv2D(filters=expand//2, kernel_size=3, padding='same', activation='relu')(y)
return tf.keras.layers.concatenate([y1, y3])
# this is to make it behave similarly to other Keras layers
def fire_module(squeeze, expand):
return lambda x: fire(x, squeeze, expand)
with tf.device('/device:GPU:0'):
x = tf.keras.layers.Input(shape=[IMG_HEIGHT,IMG_WIDTH, 3])
# x (input layer) stacked on top of the convolutional layer
y = tf.keras.layers.Conv2D(kernel_size=3, filters=32, padding='same', activation='relu')(x)
y = fire_module(34, 68)(y)
y = tf.keras.layers.MaxPooling2D(pool_size=2)(y)
y = fire_module(34, 68)(y)
y = tf.keras.layers.MaxPooling2D(pool_size=2)(y)
y = fire_module(34, 68)(y)
y = tf.keras.layers.GlobalAveragePooling2D()(y) # Takes average of h x w for each channel and returns 1 scalar value per channel
y = tf.keras.layers.Dense(102, activation='softmax')(y) # Parameters for final layer from GAP = number of channels in previous layer plus number of dense nodes in output layer times number of dense nodes
model = tf.keras.Model(x, y)
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['acc', 'AUC'])
mc = ModelCheckpoint('best_model.h5', monitor='AUC',mode='max', verbose=1, save_best_only=True) # evaluating val_acc maximization
history = model.fit(
train_data_gen,
steps_per_epoch=total_train // batch_size, #adjusts training process for new image batches
epochs=150,
validation_data=val_data_gen,
validation_steps=total_val // batch_size,
callbacks=[mc]
)
WARNING:tensorflow:From /tensorflow-1.15.2/python3.7/tensorflow_core/python/ops/resource_variable_ops.py:1630: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version. Instructions for updating: If using Keras pass *_constraint arguments to layers. Epoch 1/150 58/59 [============================>.] - ETA: 28s - loss: 4.5647 - acc: 0.0313 - auc: 0.5782Epoch 1/150 19/59 [========>.....................] - ETA: 18:22 - loss: 4.5356 - acc: 0.0287 - auc: 0.6002WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 2177s 37s/step - loss: 4.5628 - acc: 0.0314 - auc: 0.5786 - val_loss: 4.5356 - val_acc: 0.0287 - val_auc: 0.6002 Epoch 2/150 58/59 [============================>.] - ETA: 1s - loss: 4.4072 - acc: 0.0422 - auc: 0.6661Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 4.2706 - acc: 0.0441 - auc: 0.7085WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 4.4035 - acc: 0.0419 - auc: 0.6678 - val_loss: 4.2706 - val_acc: 0.0441 - val_auc: 0.7085 Epoch 3/150 58/59 [============================>.] - ETA: 1s - loss: 4.0157 - acc: 0.0734 - auc: 0.7821Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 3.8810 - acc: 0.0777 - auc: 0.8139WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 4.0148 - acc: 0.0733 - auc: 0.7822 - val_loss: 3.8810 - val_acc: 0.0777 - val_auc: 0.8139 Epoch 4/150 58/59 [============================>.] - ETA: 1s - loss: 3.7451 - acc: 0.0967 - auc: 0.8376Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 3.7094 - acc: 0.0906 - auc: 0.8463WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 3.7453 - acc: 0.0971 - auc: 0.8377 - val_loss: 3.7094 - val_acc: 0.0906 - val_auc: 0.8463 Epoch 5/150 58/59 [============================>.] - ETA: 1s - loss: 3.5947 - acc: 0.1152 - auc: 0.8597Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 3.5542 - acc: 0.1164 - auc: 0.8616WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 3.5934 - acc: 0.1155 - auc: 0.8598 - val_loss: 3.5542 - val_acc: 0.1164 - val_auc: 0.8616 Epoch 6/150 58/59 [============================>.] - ETA: 1s - loss: 3.4842 - acc: 0.1391 - auc: 0.8724Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 3.4732 - acc: 0.1372 - auc: 0.8703WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 3.4850 - acc: 0.1385 - auc: 0.8721 - val_loss: 3.4732 - val_acc: 0.1372 - val_auc: 0.8703 Epoch 7/150 58/59 [============================>.] - ETA: 1s - loss: 3.3729 - acc: 0.1702 - auc: 0.8798Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 3.4034 - acc: 0.1729 - auc: 0.8767WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 111s 2s/step - loss: 3.3747 - acc: 0.1699 - auc: 0.8797 - val_loss: 3.4034 - val_acc: 0.1729 - val_auc: 0.8767 Epoch 8/150 58/59 [============================>.] - ETA: 1s - loss: 3.2734 - acc: 0.1975 - auc: 0.8887Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 3.3380 - acc: 0.1721 - auc: 0.8780WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 3.2718 - acc: 0.1971 - auc: 0.8889 - val_loss: 3.3380 - val_acc: 0.1721 - val_auc: 0.8780 Epoch 9/150 58/59 [============================>.] - ETA: 1s - loss: 3.1832 - acc: 0.2136 - auc: 0.8932Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 3.1888 - acc: 0.1958 - auc: 0.8910WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 3.1863 - acc: 0.2131 - auc: 0.8929 - val_loss: 3.1888 - val_acc: 0.1958 - val_auc: 0.8910 Epoch 10/150 58/59 [============================>.] - ETA: 1s - loss: 3.0821 - acc: 0.2325 - auc: 0.9005Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 3.1584 - acc: 0.2290 - auc: 0.8946WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 111s 2s/step - loss: 3.0822 - acc: 0.2325 - auc: 0.9003 - val_loss: 3.1584 - val_acc: 0.2290 - val_auc: 0.8946 Epoch 11/150 58/59 [============================>.] - ETA: 1s - loss: 3.0268 - acc: 0.2470 - auc: 0.9045Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 3.0478 - acc: 0.2344 - auc: 0.9010WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 3.0240 - acc: 0.2474 - auc: 0.9049 - val_loss: 3.0478 - val_acc: 0.2344 - val_auc: 0.9010 Epoch 12/150 58/59 [============================>.] - ETA: 1s - loss: 2.9767 - acc: 0.2465 - auc: 0.9074Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 3.0441 - acc: 0.2440 - auc: 0.8963WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 2.9765 - acc: 0.2464 - auc: 0.9072 - val_loss: 3.0441 - val_acc: 0.2440 - val_auc: 0.8963 Epoch 13/150 58/59 [============================>.] - ETA: 1s - loss: 2.9053 - acc: 0.2604 - auc: 0.9121Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.9661 - acc: 0.2668 - auc: 0.9027WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 2.9075 - acc: 0.2601 - auc: 0.9118 - val_loss: 2.9661 - val_acc: 0.2668 - val_auc: 0.9027 Epoch 14/150 58/59 [============================>.] - ETA: 1s - loss: 2.8673 - acc: 0.2747 - auc: 0.9127Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.9720 - acc: 0.2706 - auc: 0.8967WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 2.8613 - acc: 0.2762 - auc: 0.9130 - val_loss: 2.9720 - val_acc: 0.2706 - val_auc: 0.8967 Epoch 15/150 58/59 [============================>.] - ETA: 1s - loss: 2.8010 - acc: 0.2872 - auc: 0.9173Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.9485 - acc: 0.2710 - auc: 0.9016WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 2.8011 - acc: 0.2879 - auc: 0.9172 - val_loss: 2.9485 - val_acc: 0.2710 - val_auc: 0.9016 Epoch 16/150 58/59 [============================>.] - ETA: 1s - loss: 2.7569 - acc: 0.3014 - auc: 0.9190Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.9695 - acc: 0.2785 - auc: 0.8975WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 113s 2s/step - loss: 2.7571 - acc: 0.3008 - auc: 0.9192 - val_loss: 2.9695 - val_acc: 0.2785 - val_auc: 0.8975 Epoch 17/150 58/59 [============================>.] - ETA: 1s - loss: 2.7277 - acc: 0.3071 - auc: 0.9215Epoch 1/150 19/59 [========>.....................] - ETA: 56s - loss: 2.8291 - acc: 0.3080 - auc: 0.9073WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 2.7287 - acc: 0.3072 - auc: 0.9213 - val_loss: 2.8291 - val_acc: 0.3080 - val_auc: 0.9073 Epoch 18/150 58/59 [============================>.] - ETA: 1s - loss: 2.6860 - acc: 0.3086 - auc: 0.9233Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.8412 - acc: 0.2972 - auc: 0.9112WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 116s 2s/step - loss: 2.6868 - acc: 0.3091 - auc: 0.9231 - val_loss: 2.8412 - val_acc: 0.2972 - val_auc: 0.9112 Epoch 19/150 58/59 [============================>.] - ETA: 1s - loss: 2.6685 - acc: 0.3179 - auc: 0.9226Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.7981 - acc: 0.3051 - auc: 0.9098WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 2.6670 - acc: 0.3183 - auc: 0.9227 - val_loss: 2.7981 - val_acc: 0.3051 - val_auc: 0.9098 Epoch 20/150 58/59 [============================>.] - ETA: 1s - loss: 2.6493 - acc: 0.3241 - auc: 0.9251Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.7577 - acc: 0.3155 - auc: 0.9149WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 116s 2s/step - loss: 2.6430 - acc: 0.3263 - auc: 0.9257 - val_loss: 2.7577 - val_acc: 0.3155 - val_auc: 0.9149 Epoch 21/150 58/59 [============================>.] - ETA: 1s - loss: 2.6053 - acc: 0.3284 - auc: 0.9287Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.6817 - acc: 0.3529 - auc: 0.9187WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 111s 2s/step - loss: 2.6070 - acc: 0.3286 - auc: 0.9287 - val_loss: 2.6817 - val_acc: 0.3529 - val_auc: 0.9187 Epoch 22/150 58/59 [============================>.] - ETA: 1s - loss: 2.5434 - acc: 0.3472 - auc: 0.9287Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.6541 - acc: 0.3537 - auc: 0.9175WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 118s 2s/step - loss: 2.5448 - acc: 0.3467 - auc: 0.9288 - val_loss: 2.6541 - val_acc: 0.3537 - val_auc: 0.9175 Epoch 23/150 58/59 [============================>.] - ETA: 1s - loss: 2.5063 - acc: 0.3559 - auc: 0.9304Epoch 1/150 19/59 [========>.....................] - ETA: 51s - loss: 2.6516 - acc: 0.3458 - auc: 0.9122WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 2.5069 - acc: 0.3561 - auc: 0.9303 - val_loss: 2.6516 - val_acc: 0.3458 - val_auc: 0.9122 Epoch 24/150 58/59 [============================>.] - ETA: 1s - loss: 2.5017 - acc: 0.3560 - auc: 0.9336Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.7007 - acc: 0.3379 - auc: 0.9111WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 119s 2s/step - loss: 2.5024 - acc: 0.3561 - auc: 0.9334 - val_loss: 2.7007 - val_acc: 0.3379 - val_auc: 0.9111 Epoch 25/150 58/59 [============================>.] - ETA: 1s - loss: 2.4696 - acc: 0.3646 - auc: 0.9326Epoch 1/150 19/59 [========>.....................] - ETA: 47s - loss: 2.6208 - acc: 0.3658 - auc: 0.9156WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 107s 2s/step - loss: 2.4643 - acc: 0.3669 - auc: 0.9328 - val_loss: 2.6208 - val_acc: 0.3658 - val_auc: 0.9156 Epoch 26/150 58/59 [============================>.] - ETA: 1s - loss: 2.4228 - acc: 0.3664 - auc: 0.9377Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.6482 - acc: 0.3495 - auc: 0.9186WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 118s 2s/step - loss: 2.4245 - acc: 0.3660 - auc: 0.9375 - val_loss: 2.6482 - val_acc: 0.3495 - val_auc: 0.9186 Epoch 27/150 58/59 [============================>.] - ETA: 1s - loss: 2.4060 - acc: 0.3821 - auc: 0.9367Epoch 1/150 19/59 [========>.....................] - ETA: 47s - loss: 2.5574 - acc: 0.3624 - auc: 0.9206WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 106s 2s/step - loss: 2.4042 - acc: 0.3819 - auc: 0.9370 - val_loss: 2.5574 - val_acc: 0.3624 - val_auc: 0.9206 Epoch 28/150 58/59 [============================>.] - ETA: 1s - loss: 2.3936 - acc: 0.3833 - auc: 0.9391Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.6734 - acc: 0.3437 - auc: 0.9104WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 120s 2s/step - loss: 2.3966 - acc: 0.3820 - auc: 0.9390 - val_loss: 2.6734 - val_acc: 0.3437 - val_auc: 0.9104 Epoch 29/150 58/59 [============================>.] - ETA: 1s - loss: 2.3573 - acc: 0.3869 - auc: 0.9402Epoch 1/150 19/59 [========>.....................] - ETA: 46s - loss: 2.5855 - acc: 0.3658 - auc: 0.9187WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 109s 2s/step - loss: 2.3562 - acc: 0.3869 - auc: 0.9402 - val_loss: 2.5855 - val_acc: 0.3658 - val_auc: 0.9187 Epoch 30/150 58/59 [============================>.] - ETA: 1s - loss: 2.3491 - acc: 0.3931 - auc: 0.9383Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.5161 - acc: 0.3774 - auc: 0.9238WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 123s 2s/step - loss: 2.3483 - acc: 0.3929 - auc: 0.9384 - val_loss: 2.5161 - val_acc: 0.3774 - val_auc: 0.9238 Epoch 31/150 58/59 [============================>.] - ETA: 1s - loss: 2.3277 - acc: 0.3957 - auc: 0.9406Epoch 1/150 19/59 [========>.....................] - ETA: 43s - loss: 2.5398 - acc: 0.3766 - auc: 0.9209WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 107s 2s/step - loss: 2.3308 - acc: 0.3949 - auc: 0.9404 - val_loss: 2.5398 - val_acc: 0.3766 - val_auc: 0.9209 Epoch 32/150 58/59 [============================>.] - ETA: 1s - loss: 2.2983 - acc: 0.3996 - auc: 0.9438Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.5574 - acc: 0.3770 - auc: 0.9147WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 121s 2s/step - loss: 2.2995 - acc: 0.3990 - auc: 0.9438 - val_loss: 2.5574 - val_acc: 0.3770 - val_auc: 0.9147 Epoch 33/150 58/59 [============================>.] - ETA: 1s - loss: 2.2749 - acc: 0.4027 - auc: 0.9429Epoch 1/150 19/59 [========>.....................] - ETA: 40s - loss: 2.4992 - acc: 0.3799 - auc: 0.9248WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 100s 2s/step - loss: 2.2744 - acc: 0.4036 - auc: 0.9428 - val_loss: 2.4992 - val_acc: 0.3799 - val_auc: 0.9248 Epoch 34/150 58/59 [============================>.] - ETA: 1s - loss: 2.2539 - acc: 0.4177 - auc: 0.9435Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.4766 - acc: 0.3940 - auc: 0.9211WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 119s 2s/step - loss: 2.2560 - acc: 0.4172 - auc: 0.9432 - val_loss: 2.4766 - val_acc: 0.3940 - val_auc: 0.9211 Epoch 35/150 58/59 [============================>.] - ETA: 1s - loss: 2.2694 - acc: 0.4103 - auc: 0.9457Epoch 1/150 19/59 [========>.....................] - ETA: 38s - loss: 2.5317 - acc: 0.3940 - auc: 0.9208WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 102s 2s/step - loss: 2.2712 - acc: 0.4089 - auc: 0.9456 - val_loss: 2.5317 - val_acc: 0.3940 - val_auc: 0.9208 Epoch 36/150 58/59 [============================>.] - ETA: 1s - loss: 2.2170 - acc: 0.4203 - auc: 0.9442Epoch 1/150 19/59 [========>.....................] - ETA: 52s - loss: 2.4837 - acc: 0.3761 - auc: 0.9254WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 119s 2s/step - loss: 2.2159 - acc: 0.4198 - auc: 0.9443 - val_loss: 2.4837 - val_acc: 0.3761 - val_auc: 0.9254 Epoch 37/150 58/59 [============================>.] - ETA: 1s - loss: 2.2182 - acc: 0.4204 - auc: 0.9454Epoch 1/150 19/59 [========>.....................] - ETA: 36s - loss: 2.5408 - acc: 0.3961 - auc: 0.9137WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 101s 2s/step - loss: 2.2179 - acc: 0.4210 - auc: 0.9455 - val_loss: 2.5408 - val_acc: 0.3961 - val_auc: 0.9137 Epoch 38/150 58/59 [============================>.] - ETA: 1s - loss: 2.1930 - acc: 0.4249 - auc: 0.9460Epoch 1/150 19/59 [========>.....................] - ETA: 52s - loss: 2.4818 - acc: 0.3899 - auc: 0.9222WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 119s 2s/step - loss: 2.1925 - acc: 0.4251 - auc: 0.9462 - val_loss: 2.4818 - val_acc: 0.3899 - val_auc: 0.9222 Epoch 39/150 58/59 [============================>.] - ETA: 1s - loss: 2.1786 - acc: 0.4305 - auc: 0.9466Epoch 1/150 19/59 [========>.....................] - ETA: 52s - loss: 2.6029 - acc: 0.3874 - auc: 0.9086WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 106s 2s/step - loss: 2.1804 - acc: 0.4294 - auc: 0.9466 - val_loss: 2.6029 - val_acc: 0.3874 - val_auc: 0.9086 Epoch 40/150 58/59 [============================>.] - ETA: 1s - loss: 2.1609 - acc: 0.4346 - auc: 0.9486Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.5102 - acc: 0.3890 - auc: 0.9183WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 107s 2s/step - loss: 2.1570 - acc: 0.4359 - auc: 0.9490 - val_loss: 2.5102 - val_acc: 0.3890 - val_auc: 0.9183 Epoch 41/150 58/59 [============================>.] - ETA: 1s - loss: 2.1519 - acc: 0.4359 - auc: 0.9475Epoch 1/150 19/59 [========>.....................] - ETA: 52s - loss: 2.4914 - acc: 0.3770 - auc: 0.9267WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 108s 2s/step - loss: 2.1557 - acc: 0.4361 - auc: 0.9472 - val_loss: 2.4914 - val_acc: 0.3770 - val_auc: 0.9267 Epoch 42/150 58/59 [============================>.] - ETA: 1s - loss: 2.1032 - acc: 0.4451 - auc: 0.9511Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.4780 - acc: 0.4065 - auc: 0.9243WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 108s 2s/step - loss: 2.1056 - acc: 0.4454 - auc: 0.9509 - val_loss: 2.4780 - val_acc: 0.4065 - val_auc: 0.9243 Epoch 43/150 58/59 [============================>.] - ETA: 1s - loss: 2.1151 - acc: 0.4400 - auc: 0.9498Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.3925 - acc: 0.4069 - auc: 0.9275WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 109s 2s/step - loss: 2.1118 - acc: 0.4405 - auc: 0.9501 - val_loss: 2.3925 - val_acc: 0.4069 - val_auc: 0.9275 Epoch 44/150 58/59 [============================>.] - ETA: 1s - loss: 2.0803 - acc: 0.4510 - auc: 0.9510Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.3835 - acc: 0.4227 - auc: 0.9271WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 2.0805 - acc: 0.4508 - auc: 0.9509 - val_loss: 2.3835 - val_acc: 0.4227 - val_auc: 0.9271 Epoch 45/150 58/59 [============================>.] - ETA: 1s - loss: 2.0855 - acc: 0.4509 - auc: 0.9507Epoch 1/150 19/59 [========>.....................] - ETA: 52s - loss: 2.4439 - acc: 0.4115 - auc: 0.9241WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 109s 2s/step - loss: 2.0855 - acc: 0.4504 - auc: 0.9509 - val_loss: 2.4439 - val_acc: 0.4115 - val_auc: 0.9241 Epoch 46/150 58/59 [============================>.] - ETA: 1s - loss: 2.0611 - acc: 0.4535 - auc: 0.9517Epoch 1/150 19/59 [========>.....................] - ETA: 51s - loss: 2.3924 - acc: 0.4248 - auc: 0.9223WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 105s 2s/step - loss: 2.0580 - acc: 0.4536 - auc: 0.9519 - val_loss: 2.3924 - val_acc: 0.4248 - val_auc: 0.9223 Epoch 47/150 58/59 [============================>.] - ETA: 1s - loss: 2.0891 - acc: 0.4547 - auc: 0.9514Epoch 1/150 19/59 [========>.....................] - ETA: 52s - loss: 2.3904 - acc: 0.4260 - auc: 0.9250WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 107s 2s/step - loss: 2.0856 - acc: 0.4552 - auc: 0.9515 - val_loss: 2.3904 - val_acc: 0.4260 - val_auc: 0.9250 Epoch 48/150 58/59 [============================>.] - ETA: 1s - loss: 2.0306 - acc: 0.4607 - auc: 0.9532Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.4824 - acc: 0.3994 - auc: 0.9188WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 108s 2s/step - loss: 2.0285 - acc: 0.4605 - auc: 0.9533 - val_loss: 2.4824 - val_acc: 0.3994 - val_auc: 0.9188 Epoch 49/150 58/59 [============================>.] - ETA: 1s - loss: 2.0302 - acc: 0.4664 - auc: 0.9530Epoch 1/150 19/59 [========>.....................] - ETA: 51s - loss: 2.4555 - acc: 0.4131 - auc: 0.9270WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 107s 2s/step - loss: 2.0312 - acc: 0.4649 - auc: 0.9531 - val_loss: 2.4555 - val_acc: 0.4131 - val_auc: 0.9270 Epoch 50/150 58/59 [============================>.] - ETA: 1s - loss: 1.9838 - acc: 0.4739 - auc: 0.9564Epoch 1/150 19/59 [========>.....................] - ETA: 52s - loss: 2.4170 - acc: 0.4202 - auc: 0.9194WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 107s 2s/step - loss: 1.9785 - acc: 0.4746 - auc: 0.9565 - val_loss: 2.4170 - val_acc: 0.4202 - val_auc: 0.9194 Epoch 51/150 58/59 [============================>.] - ETA: 1s - loss: 1.9909 - acc: 0.4716 - auc: 0.9553Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.4394 - acc: 0.4339 - auc: 0.9230WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 109s 2s/step - loss: 1.9919 - acc: 0.4709 - auc: 0.9552 - val_loss: 2.4394 - val_acc: 0.4339 - val_auc: 0.9230 Epoch 52/150 58/59 [============================>.] - ETA: 1s - loss: 1.9608 - acc: 0.4790 - auc: 0.9560Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.3685 - acc: 0.4190 - auc: 0.9276WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 1.9627 - acc: 0.4780 - auc: 0.9560 - val_loss: 2.3685 - val_acc: 0.4190 - val_auc: 0.9276 Epoch 53/150 58/59 [============================>.] - ETA: 1s - loss: 1.9833 - acc: 0.4702 - auc: 0.9562Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.3192 - acc: 0.4460 - auc: 0.9277WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 1.9799 - acc: 0.4710 - auc: 0.9564 - val_loss: 2.3192 - val_acc: 0.4460 - val_auc: 0.9277 Epoch 54/150 58/59 [============================>.] - ETA: 1s - loss: 1.9508 - acc: 0.4787 - auc: 0.9567Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.4054 - acc: 0.4293 - auc: 0.9216WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 1.9495 - acc: 0.4784 - auc: 0.9568 - val_loss: 2.4054 - val_acc: 0.4293 - val_auc: 0.9216 Epoch 55/150 58/59 [============================>.] - ETA: 1s - loss: 1.9191 - acc: 0.4934 - auc: 0.9573Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.3784 - acc: 0.4165 - auc: 0.9243WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 113s 2s/step - loss: 1.9211 - acc: 0.4926 - auc: 0.9573 - val_loss: 2.3784 - val_acc: 0.4165 - val_auc: 0.9243 Epoch 56/150 58/59 [============================>.] - ETA: 1s - loss: 1.9221 - acc: 0.4847 - auc: 0.9558Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.3169 - acc: 0.4472 - auc: 0.9291WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 111s 2s/step - loss: 1.9216 - acc: 0.4847 - auc: 0.9560 - val_loss: 2.3169 - val_acc: 0.4472 - val_auc: 0.9291 Epoch 57/150 58/59 [============================>.] - ETA: 1s - loss: 1.9009 - acc: 0.4889 - auc: 0.9592Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.3103 - acc: 0.4406 - auc: 0.9323WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 114s 2s/step - loss: 1.9033 - acc: 0.4889 - auc: 0.9592 - val_loss: 2.3103 - val_acc: 0.4406 - val_auc: 0.9323 Epoch 58/150 58/59 [============================>.] - ETA: 1s - loss: 1.9054 - acc: 0.4855 - auc: 0.9578Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.2892 - acc: 0.4377 - auc: 0.9325WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 1.9052 - acc: 0.4852 - auc: 0.9577 - val_loss: 2.2892 - val_acc: 0.4377 - val_auc: 0.9325 Epoch 59/150 58/59 [============================>.] - ETA: 1s - loss: 1.8688 - acc: 0.4978 - auc: 0.9599Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.4571 - acc: 0.4169 - auc: 0.9189WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 114s 2s/step - loss: 1.8715 - acc: 0.4974 - auc: 0.9597 - val_loss: 2.4571 - val_acc: 0.4169 - val_auc: 0.9189 Epoch 60/150 58/59 [============================>.] - ETA: 1s - loss: 1.8660 - acc: 0.4973 - auc: 0.9605Epoch 1/150 19/59 [========>.....................] - ETA: 50s - loss: 2.3512 - acc: 0.4343 - auc: 0.9272WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 108s 2s/step - loss: 1.8636 - acc: 0.4983 - auc: 0.9605 - val_loss: 2.3512 - val_acc: 0.4343 - val_auc: 0.9272 Epoch 61/150 58/59 [============================>.] - ETA: 1s - loss: 1.8896 - acc: 0.4890 - auc: 0.9584Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.2669 - acc: 0.4534 - auc: 0.9344WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 116s 2s/step - loss: 1.8937 - acc: 0.4895 - auc: 0.9580 - val_loss: 2.2669 - val_acc: 0.4534 - val_auc: 0.9344 Epoch 62/150 58/59 [============================>.] - ETA: 1s - loss: 1.8425 - acc: 0.5084 - auc: 0.9600Epoch 1/150 19/59 [========>.....................] - ETA: 49s - loss: 2.3293 - acc: 0.4385 - auc: 0.9310WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 106s 2s/step - loss: 1.8425 - acc: 0.5087 - auc: 0.9600 - val_loss: 2.3293 - val_acc: 0.4385 - val_auc: 0.9310 Epoch 63/150 58/59 [============================>.] - ETA: 1s - loss: 1.8400 - acc: 0.5048 - auc: 0.9612Epoch 1/150 19/59 [========>.....................] - ETA: 56s - loss: 2.3044 - acc: 0.4418 - auc: 0.9284WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 118s 2s/step - loss: 1.8386 - acc: 0.5056 - auc: 0.9611 - val_loss: 2.3044 - val_acc: 0.4418 - val_auc: 0.9284 Epoch 64/150 58/59 [============================>.] - ETA: 1s - loss: 1.8305 - acc: 0.5116 - auc: 0.9595Epoch 1/150 19/59 [========>.....................] - ETA: 49s - loss: 2.3410 - acc: 0.4389 - auc: 0.9245WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 109s 2s/step - loss: 1.8272 - acc: 0.5118 - auc: 0.9597 - val_loss: 2.3410 - val_acc: 0.4389 - val_auc: 0.9245 Epoch 65/150 58/59 [============================>.] - ETA: 1s - loss: 1.8131 - acc: 0.5130 - auc: 0.9620Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.2553 - acc: 0.4514 - auc: 0.9294WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 120s 2s/step - loss: 1.8094 - acc: 0.5143 - auc: 0.9621 - val_loss: 2.2553 - val_acc: 0.4514 - val_auc: 0.9294 Epoch 66/150 58/59 [============================>.] - ETA: 1s - loss: 1.8261 - acc: 0.5107 - auc: 0.9607Epoch 1/150 19/59 [========>.....................] - ETA: 44s - loss: 2.3693 - acc: 0.4372 - auc: 0.9254WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 105s 2s/step - loss: 1.8249 - acc: 0.5111 - auc: 0.9607 - val_loss: 2.3693 - val_acc: 0.4372 - val_auc: 0.9254 Epoch 67/150 58/59 [============================>.] - ETA: 1s - loss: 1.7865 - acc: 0.5251 - auc: 0.9627Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.4327 - acc: 0.4273 - auc: 0.9209WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 119s 2s/step - loss: 1.7868 - acc: 0.5251 - auc: 0.9626 - val_loss: 2.4327 - val_acc: 0.4273 - val_auc: 0.9209 Epoch 68/150 58/59 [============================>.] - ETA: 1s - loss: 1.7823 - acc: 0.5194 - auc: 0.9621Epoch 1/150 19/59 [========>.....................] - ETA: 45s - loss: 2.2617 - acc: 0.4680 - auc: 0.9304WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 107s 2s/step - loss: 1.7806 - acc: 0.5208 - auc: 0.9619 - val_loss: 2.2617 - val_acc: 0.4680 - val_auc: 0.9304 Epoch 69/150 58/59 [============================>.] - ETA: 1s - loss: 1.7552 - acc: 0.5240 - auc: 0.9646Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.2490 - acc: 0.4638 - auc: 0.9317WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 122s 2s/step - loss: 1.7566 - acc: 0.5238 - auc: 0.9647 - val_loss: 2.2490 - val_acc: 0.4638 - val_auc: 0.9317 Epoch 70/150 58/59 [============================>.] - ETA: 1s - loss: 1.7417 - acc: 0.5297 - auc: 0.9654Epoch 1/150 19/59 [========>.....................] - ETA: 41s - loss: 2.2478 - acc: 0.4734 - auc: 0.9329WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 102s 2s/step - loss: 1.7400 - acc: 0.5308 - auc: 0.9653 - val_loss: 2.2478 - val_acc: 0.4734 - val_auc: 0.9329 Epoch 71/150 58/59 [============================>.] - ETA: 1s - loss: 1.7257 - acc: 0.5300 - auc: 0.9655Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.2669 - acc: 0.4622 - auc: 0.9305WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 116s 2s/step - loss: 1.7307 - acc: 0.5288 - auc: 0.9652 - val_loss: 2.2669 - val_acc: 0.4622 - val_auc: 0.9305 Epoch 72/150 58/59 [============================>.] - ETA: 1s - loss: 1.7205 - acc: 0.5310 - auc: 0.9652Epoch 1/150 19/59 [========>.....................] - ETA: 39s - loss: 2.2616 - acc: 0.4663 - auc: 0.9319WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 101s 2s/step - loss: 1.7209 - acc: 0.5310 - auc: 0.9652 - val_loss: 2.2616 - val_acc: 0.4663 - val_auc: 0.9319 Epoch 73/150 58/59 [============================>.] - ETA: 1s - loss: 1.7372 - acc: 0.5363 - auc: 0.9641Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.3157 - acc: 0.4460 - auc: 0.9264WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 118s 2s/step - loss: 1.7376 - acc: 0.5365 - auc: 0.9641 - val_loss: 2.3157 - val_acc: 0.4460 - val_auc: 0.9264 Epoch 74/150 58/59 [============================>.] - ETA: 1s - loss: 1.7248 - acc: 0.5378 - auc: 0.9639Epoch 1/150 19/59 [========>.....................] - ETA: 38s - loss: 2.2270 - acc: 0.4597 - auc: 0.9292WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 101s 2s/step - loss: 1.7261 - acc: 0.5366 - auc: 0.9640 - val_loss: 2.2270 - val_acc: 0.4597 - val_auc: 0.9292 Epoch 75/150 58/59 [============================>.] - ETA: 1s - loss: 1.6954 - acc: 0.5375 - auc: 0.9655Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.2413 - acc: 0.4580 - auc: 0.9304WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 121s 2s/step - loss: 1.6999 - acc: 0.5367 - auc: 0.9651 - val_loss: 2.2413 - val_acc: 0.4580 - val_auc: 0.9304 Epoch 76/150 58/59 [============================>.] - ETA: 1s - loss: 1.6892 - acc: 0.5451 - auc: 0.9649Epoch 1/150 19/59 [========>.....................] - ETA: 36s - loss: 2.2872 - acc: 0.4626 - auc: 0.9272WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 100s 2s/step - loss: 1.6852 - acc: 0.5461 - auc: 0.9651 - val_loss: 2.2872 - val_acc: 0.4626 - val_auc: 0.9272 Epoch 77/150 58/59 [============================>.] - ETA: 1s - loss: 1.6766 - acc: 0.5475 - auc: 0.9661Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.2764 - acc: 0.4705 - auc: 0.9295WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 123s 2s/step - loss: 1.6776 - acc: 0.5464 - auc: 0.9659 - val_loss: 2.2764 - val_acc: 0.4705 - val_auc: 0.9295 Epoch 78/150 58/59 [============================>.] - ETA: 1s - loss: 1.6508 - acc: 0.5545 - auc: 0.9671Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.2492 - acc: 0.4838 - auc: 0.9286WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 1.6516 - acc: 0.5539 - auc: 0.9671 - val_loss: 2.2492 - val_acc: 0.4838 - val_auc: 0.9286 Epoch 79/150 58/59 [============================>.] - ETA: 1s - loss: 1.6414 - acc: 0.5509 - auc: 0.9678Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.3104 - acc: 0.4522 - auc: 0.9242WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 1.6403 - acc: 0.5515 - auc: 0.9676 - val_loss: 2.3104 - val_acc: 0.4522 - val_auc: 0.9242 Epoch 80/150 58/59 [============================>.] - ETA: 1s - loss: 1.6522 - acc: 0.5488 - auc: 0.9674Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.3002 - acc: 0.4626 - auc: 0.9223WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 1.6513 - acc: 0.5482 - auc: 0.9677 - val_loss: 2.3002 - val_acc: 0.4626 - val_auc: 0.9223 Epoch 81/150 58/59 [============================>.] - ETA: 1s - loss: 1.6105 - acc: 0.5587 - auc: 0.9682Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.2457 - acc: 0.4830 - auc: 0.9342WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 108s 2s/step - loss: 1.6088 - acc: 0.5593 - auc: 0.9683 - val_loss: 2.2457 - val_acc: 0.4830 - val_auc: 0.9342 Epoch 82/150 58/59 [============================>.] - ETA: 1s - loss: 1.6422 - acc: 0.5564 - auc: 0.9664Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.2118 - acc: 0.4780 - auc: 0.9320WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 1.6381 - acc: 0.5572 - auc: 0.9666 - val_loss: 2.2118 - val_acc: 0.4780 - val_auc: 0.9320 Epoch 83/150 58/59 [============================>.] - ETA: 1s - loss: 1.5912 - acc: 0.5632 - auc: 0.9694Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.1826 - acc: 0.4838 - auc: 0.9355WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 113s 2s/step - loss: 1.5946 - acc: 0.5612 - auc: 0.9694 - val_loss: 2.1826 - val_acc: 0.4838 - val_auc: 0.9355 Epoch 84/150 58/59 [============================>.] - ETA: 1s - loss: 1.5918 - acc: 0.5637 - auc: 0.9684Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.1664 - acc: 0.4813 - auc: 0.9316WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 1.5889 - acc: 0.5640 - auc: 0.9685 - val_loss: 2.1664 - val_acc: 0.4813 - val_auc: 0.9316 Epoch 85/150 58/59 [============================>.] - ETA: 1s - loss: 1.5925 - acc: 0.5724 - auc: 0.9684Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.2799 - acc: 0.4692 - auc: 0.9256WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 1.5878 - acc: 0.5733 - auc: 0.9688 - val_loss: 2.2799 - val_acc: 0.4692 - val_auc: 0.9256 Epoch 86/150 58/59 [============================>.] - ETA: 1s - loss: 1.6167 - acc: 0.5646 - auc: 0.9681Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.2803 - acc: 0.4726 - auc: 0.9321WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 111s 2s/step - loss: 1.6171 - acc: 0.5640 - auc: 0.9681 - val_loss: 2.2803 - val_acc: 0.4726 - val_auc: 0.9321 Epoch 87/150 58/59 [============================>.] - ETA: 1s - loss: 1.5841 - acc: 0.5658 - auc: 0.9696Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.3420 - acc: 0.4447 - auc: 0.9258WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 109s 2s/step - loss: 1.5875 - acc: 0.5655 - auc: 0.9695 - val_loss: 2.3420 - val_acc: 0.4447 - val_auc: 0.9258 Epoch 88/150 58/59 [============================>.] - ETA: 1s - loss: 1.5867 - acc: 0.5690 - auc: 0.9699Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.2183 - acc: 0.4767 - auc: 0.9269WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 109s 2s/step - loss: 1.5897 - acc: 0.5680 - auc: 0.9699 - val_loss: 2.2183 - val_acc: 0.4767 - val_auc: 0.9269 Epoch 89/150 58/59 [============================>.] - ETA: 1s - loss: 1.5461 - acc: 0.5796 - auc: 0.9710Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.1935 - acc: 0.4988 - auc: 0.9311WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 109s 2s/step - loss: 1.5460 - acc: 0.5794 - auc: 0.9710 - val_loss: 2.1935 - val_acc: 0.4988 - val_auc: 0.9311 Epoch 90/150 58/59 [============================>.] - ETA: 1s - loss: 1.5480 - acc: 0.5795 - auc: 0.9697Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.2337 - acc: 0.4871 - auc: 0.9316WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 111s 2s/step - loss: 1.5462 - acc: 0.5801 - auc: 0.9698 - val_loss: 2.2337 - val_acc: 0.4871 - val_auc: 0.9316 Epoch 91/150 58/59 [============================>.] - ETA: 1s - loss: 1.5258 - acc: 0.5783 - auc: 0.9716Epoch 1/150 19/59 [========>.....................] - ETA: 56s - loss: 2.1589 - acc: 0.4979 - auc: 0.9329WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 113s 2s/step - loss: 1.5251 - acc: 0.5780 - auc: 0.9717 - val_loss: 2.1589 - val_acc: 0.4979 - val_auc: 0.9329 Epoch 92/150 58/59 [============================>.] - ETA: 1s - loss: 1.5137 - acc: 0.5864 - auc: 0.9710Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.2156 - acc: 0.4933 - auc: 0.9318WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 113s 2s/step - loss: 1.5148 - acc: 0.5865 - auc: 0.9709 - val_loss: 2.2156 - val_acc: 0.4933 - val_auc: 0.9318 Epoch 93/150 58/59 [============================>.] - ETA: 1s - loss: 1.5353 - acc: 0.5762 - auc: 0.9713Epoch 1/150 19/59 [========>.....................] - ETA: 57s - loss: 2.1683 - acc: 0.5012 - auc: 0.9300WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 114s 2s/step - loss: 1.5343 - acc: 0.5764 - auc: 0.9712 - val_loss: 2.1683 - val_acc: 0.5012 - val_auc: 0.9300 Epoch 94/150 58/59 [============================>.] - ETA: 1s - loss: 1.5028 - acc: 0.5914 - auc: 0.9713Epoch 1/150 19/59 [========>.....................] - ETA: 57s - loss: 2.1013 - acc: 0.5100 - auc: 0.9341WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 118s 2s/step - loss: 1.5055 - acc: 0.5904 - auc: 0.9712 - val_loss: 2.1013 - val_acc: 0.5100 - val_auc: 0.9341 Epoch 95/150 58/59 [============================>.] - ETA: 1s - loss: 1.5010 - acc: 0.5862 - auc: 0.9723Epoch 1/150 19/59 [========>.....................] - ETA: 56s - loss: 2.1392 - acc: 0.4946 - auc: 0.9350WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 117s 2s/step - loss: 1.4999 - acc: 0.5866 - auc: 0.9723 - val_loss: 2.1392 - val_acc: 0.4946 - val_auc: 0.9350 Epoch 96/150 58/59 [============================>.] - ETA: 1s - loss: 1.5178 - acc: 0.5834 - auc: 0.9708Epoch 1/150 19/59 [========>.....................] - ETA: 56s - loss: 2.2000 - acc: 0.4954 - auc: 0.9269WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 118s 2s/step - loss: 1.5138 - acc: 0.5844 - auc: 0.9711 - val_loss: 2.2000 - val_acc: 0.4954 - val_auc: 0.9269 Epoch 97/150 58/59 [============================>.] - ETA: 1s - loss: 1.4906 - acc: 0.5994 - auc: 0.9726Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.1602 - acc: 0.4979 - auc: 0.9294WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 113s 2s/step - loss: 1.4909 - acc: 0.5994 - auc: 0.9724 - val_loss: 2.1602 - val_acc: 0.4979 - val_auc: 0.9294 Epoch 98/150 58/59 [============================>.] - ETA: 1s - loss: 1.5047 - acc: 0.5878 - auc: 0.9724Epoch 1/150 19/59 [========>.....................] - ETA: 57s - loss: 2.2379 - acc: 0.4751 - auc: 0.9297WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 119s 2s/step - loss: 1.5058 - acc: 0.5875 - auc: 0.9723 - val_loss: 2.2379 - val_acc: 0.4751 - val_auc: 0.9297 Epoch 99/150 58/59 [============================>.] - ETA: 1s - loss: 1.4652 - acc: 0.6004 - auc: 0.9721Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.2066 - acc: 0.4971 - auc: 0.9268WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 114s 2s/step - loss: 1.4677 - acc: 0.6004 - auc: 0.9719 - val_loss: 2.2066 - val_acc: 0.4971 - val_auc: 0.9268 Epoch 100/150 58/59 [============================>.] - ETA: 1s - loss: 1.4474 - acc: 0.6060 - auc: 0.9741Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.2094 - acc: 0.4855 - auc: 0.9306WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 120s 2s/step - loss: 1.4456 - acc: 0.6069 - auc: 0.9740 - val_loss: 2.2094 - val_acc: 0.4855 - val_auc: 0.9306 Epoch 101/150 58/59 [============================>.] - ETA: 1s - loss: 1.4626 - acc: 0.6003 - auc: 0.9717Epoch 1/150 19/59 [========>.....................] - ETA: 49s - loss: 2.2208 - acc: 0.4975 - auc: 0.9272WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 108s 2s/step - loss: 1.4632 - acc: 0.5999 - auc: 0.9717 - val_loss: 2.2208 - val_acc: 0.4975 - val_auc: 0.9272 Epoch 102/150 58/59 [============================>.] - ETA: 1s - loss: 1.4911 - acc: 0.5880 - auc: 0.9725Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.1229 - acc: 0.4992 - auc: 0.9307WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 117s 2s/step - loss: 1.4861 - acc: 0.5885 - auc: 0.9728 - val_loss: 2.1229 - val_acc: 0.4992 - val_auc: 0.9307 Epoch 103/150 58/59 [============================>.] - ETA: 1s - loss: 1.4326 - acc: 0.6024 - auc: 0.9747Epoch 1/150 19/59 [========>.....................] - ETA: 47s - loss: 2.1273 - acc: 0.5108 - auc: 0.9338WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 107s 2s/step - loss: 1.4351 - acc: 0.6021 - auc: 0.9744 - val_loss: 2.1273 - val_acc: 0.5108 - val_auc: 0.9338 Epoch 104/150 58/59 [============================>.] - ETA: 1s - loss: 1.3912 - acc: 0.6155 - auc: 0.9756Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.1648 - acc: 0.5212 - auc: 0.9285WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 117s 2s/step - loss: 1.3898 - acc: 0.6159 - auc: 0.9757 - val_loss: 2.1648 - val_acc: 0.5212 - val_auc: 0.9285 Epoch 105/150 58/59 [============================>.] - ETA: 1s - loss: 1.4159 - acc: 0.6108 - auc: 0.9745Epoch 1/150 19/59 [========>.....................] - ETA: 46s - loss: 2.1699 - acc: 0.5000 - auc: 0.9323WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 107s 2s/step - loss: 1.4127 - acc: 0.6121 - auc: 0.9746 - val_loss: 2.1699 - val_acc: 0.5000 - val_auc: 0.9323 Epoch 106/150 58/59 [============================>.] - ETA: 1s - loss: 1.3871 - acc: 0.6185 - auc: 0.9748Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.1066 - acc: 0.5129 - auc: 0.9339WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 117s 2s/step - loss: 1.3873 - acc: 0.6186 - auc: 0.9748 - val_loss: 2.1066 - val_acc: 0.5129 - val_auc: 0.9339 Epoch 107/150 58/59 [============================>.] - ETA: 1s - loss: 1.4089 - acc: 0.6109 - auc: 0.9756Epoch 1/150 19/59 [========>.....................] - ETA: 46s - loss: 2.2125 - acc: 0.4979 - auc: 0.9288WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 106s 2s/step - loss: 1.4068 - acc: 0.6111 - auc: 0.9757 - val_loss: 2.2125 - val_acc: 0.4979 - val_auc: 0.9288 Epoch 108/150 58/59 [============================>.] - ETA: 1s - loss: 1.3828 - acc: 0.6199 - auc: 0.9762Epoch 1/150 19/59 [========>.....................] - ETA: 57s - loss: 2.0913 - acc: 0.5129 - auc: 0.9360WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 125s 2s/step - loss: 1.3839 - acc: 0.6204 - auc: 0.9762 - val_loss: 2.0913 - val_acc: 0.5129 - val_auc: 0.9360 Epoch 109/150 58/59 [============================>.] - ETA: 1s - loss: 1.4166 - acc: 0.6080 - auc: 0.9735Epoch 1/150 19/59 [========>.....................] - ETA: 44s - loss: 2.1328 - acc: 0.5291 - auc: 0.9284WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 109s 2s/step - loss: 1.4148 - acc: 0.6081 - auc: 0.9736 - val_loss: 2.1328 - val_acc: 0.5291 - val_auc: 0.9284 Epoch 110/150 58/59 [============================>.] - ETA: 1s - loss: 1.3950 - acc: 0.6114 - auc: 0.9752Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.1437 - acc: 0.5166 - auc: 0.9296WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 124s 2s/step - loss: 1.3970 - acc: 0.6106 - auc: 0.9752 - val_loss: 2.1437 - val_acc: 0.5166 - val_auc: 0.9296 Epoch 111/150 58/59 [============================>.] - ETA: 1s - loss: 1.4049 - acc: 0.6207 - auc: 0.9734Epoch 1/150 19/59 [========>.....................] - ETA: 42s - loss: 2.1622 - acc: 0.5129 - auc: 0.9301WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 105s 2s/step - loss: 1.4031 - acc: 0.6210 - auc: 0.9734 - val_loss: 2.1622 - val_acc: 0.5129 - val_auc: 0.9301 Epoch 112/150 58/59 [============================>.] - ETA: 1s - loss: 1.3632 - acc: 0.6199 - auc: 0.9755Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.1496 - acc: 0.5071 - auc: 0.9323WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 124s 2s/step - loss: 1.3686 - acc: 0.6183 - auc: 0.9753 - val_loss: 2.1496 - val_acc: 0.5071 - val_auc: 0.9323 Epoch 113/150 58/59 [============================>.] - ETA: 1s - loss: 1.3501 - acc: 0.6260 - auc: 0.9764Epoch 1/150 19/59 [========>.....................] - ETA: 40s - loss: 2.1888 - acc: 0.5012 - auc: 0.9299WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 105s 2s/step - loss: 1.3498 - acc: 0.6256 - auc: 0.9765 - val_loss: 2.1888 - val_acc: 0.5012 - val_auc: 0.9299 Epoch 114/150 58/59 [============================>.] - ETA: 1s - loss: 1.3479 - acc: 0.6298 - auc: 0.9752Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.2441 - acc: 0.4938 - auc: 0.9230WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 122s 2s/step - loss: 1.3513 - acc: 0.6291 - auc: 0.9748 - val_loss: 2.2441 - val_acc: 0.4938 - val_auc: 0.9230 Epoch 115/150 58/59 [============================>.] - ETA: 1s - loss: 1.3536 - acc: 0.6240 - auc: 0.9760Epoch 1/150 19/59 [========>.....................] - ETA: 36s - loss: 2.1246 - acc: 0.5145 - auc: 0.9324WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 100s 2s/step - loss: 1.3543 - acc: 0.6233 - auc: 0.9760 - val_loss: 2.1246 - val_acc: 0.5145 - val_auc: 0.9324 Epoch 116/150 58/59 [============================>.] - ETA: 1s - loss: 1.3092 - acc: 0.6393 - auc: 0.9775Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.1830 - acc: 0.5096 - auc: 0.9298WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 121s 2s/step - loss: 1.3113 - acc: 0.6386 - auc: 0.9776 - val_loss: 2.1830 - val_acc: 0.5096 - val_auc: 0.9298 Epoch 117/150 58/59 [============================>.] - ETA: 1s - loss: 1.3510 - acc: 0.6237 - auc: 0.9756Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.1109 - acc: 0.5303 - auc: 0.9323WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 108s 2s/step - loss: 1.3510 - acc: 0.6235 - auc: 0.9758 - val_loss: 2.1109 - val_acc: 0.5303 - val_auc: 0.9323 Epoch 118/150 58/59 [============================>.] - ETA: 1s - loss: 1.3421 - acc: 0.6321 - auc: 0.9754Epoch 1/150 19/59 [========>.....................] - ETA: 52s - loss: 2.2073 - acc: 0.5058 - auc: 0.9263WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 107s 2s/step - loss: 1.3417 - acc: 0.6324 - auc: 0.9753 - val_loss: 2.2073 - val_acc: 0.5058 - val_auc: 0.9263 Epoch 119/150 58/59 [============================>.] - ETA: 1s - loss: 1.3046 - acc: 0.6358 - auc: 0.9783Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.1025 - acc: 0.5299 - auc: 0.9313WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 109s 2s/step - loss: 1.3111 - acc: 0.6343 - auc: 0.9780 - val_loss: 2.1025 - val_acc: 0.5299 - val_auc: 0.9313 Epoch 120/150 58/59 [============================>.] - ETA: 1s - loss: 1.2955 - acc: 0.6369 - auc: 0.9772Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.1135 - acc: 0.5274 - auc: 0.9294WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 1.2978 - acc: 0.6364 - auc: 0.9771 - val_loss: 2.1135 - val_acc: 0.5274 - val_auc: 0.9294 Epoch 121/150 58/59 [============================>.] - ETA: 1s - loss: 1.3016 - acc: 0.6415 - auc: 0.9762Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.2027 - acc: 0.5125 - auc: 0.9274WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 109s 2s/step - loss: 1.3028 - acc: 0.6413 - auc: 0.9762 - val_loss: 2.2027 - val_acc: 0.5125 - val_auc: 0.9274 Epoch 122/150 58/59 [============================>.] - ETA: 1s - loss: 1.3296 - acc: 0.6257 - auc: 0.9780Epoch 1/150 19/59 [========>.....................] - ETA: 52s - loss: 2.0484 - acc: 0.5391 - auc: 0.9333WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 107s 2s/step - loss: 1.3233 - acc: 0.6273 - auc: 0.9782 - val_loss: 2.0484 - val_acc: 0.5391 - val_auc: 0.9333 Epoch 123/150 58/59 [============================>.] - ETA: 1s - loss: 1.2987 - acc: 0.6452 - auc: 0.9766Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.1686 - acc: 0.5125 - auc: 0.9312WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 111s 2s/step - loss: 1.2984 - acc: 0.6447 - auc: 0.9767 - val_loss: 2.1686 - val_acc: 0.5125 - val_auc: 0.9312 Epoch 124/150 58/59 [============================>.] - ETA: 1s - loss: 1.3037 - acc: 0.6422 - auc: 0.9781Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.0912 - acc: 0.5258 - auc: 0.9299WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 111s 2s/step - loss: 1.3034 - acc: 0.6424 - auc: 0.9781 - val_loss: 2.0912 - val_acc: 0.5258 - val_auc: 0.9299 Epoch 125/150 58/59 [============================>.] - ETA: 1s - loss: 1.2993 - acc: 0.6325 - auc: 0.9788Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.1508 - acc: 0.5179 - auc: 0.9297WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 109s 2s/step - loss: 1.2979 - acc: 0.6329 - auc: 0.9788 - val_loss: 2.1508 - val_acc: 0.5179 - val_auc: 0.9297 Epoch 126/150 58/59 [============================>.] - ETA: 1s - loss: 1.2697 - acc: 0.6512 - auc: 0.9776Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.2453 - acc: 0.5062 - auc: 0.9258WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 111s 2s/step - loss: 1.2680 - acc: 0.6517 - auc: 0.9777 - val_loss: 2.2453 - val_acc: 0.5062 - val_auc: 0.9258 Epoch 127/150 58/59 [============================>.] - ETA: 1s - loss: 1.2754 - acc: 0.6533 - auc: 0.9784Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.0985 - acc: 0.5308 - auc: 0.9325WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 1.2805 - acc: 0.6520 - auc: 0.9780 - val_loss: 2.0985 - val_acc: 0.5308 - val_auc: 0.9325 Epoch 128/150 58/59 [============================>.] - ETA: 1s - loss: 1.2448 - acc: 0.6495 - auc: 0.9798Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.1099 - acc: 0.5391 - auc: 0.9324WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 1.2442 - acc: 0.6494 - auc: 0.9799 - val_loss: 2.1099 - val_acc: 0.5391 - val_auc: 0.9324 Epoch 129/150 58/59 [============================>.] - ETA: 1s - loss: 1.2323 - acc: 0.6614 - auc: 0.9792Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.1551 - acc: 0.5245 - auc: 0.9260WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 1.2313 - acc: 0.6613 - auc: 0.9793 - val_loss: 2.1551 - val_acc: 0.5245 - val_auc: 0.9260 Epoch 130/150 58/59 [============================>.] - ETA: 1s - loss: 1.2587 - acc: 0.6509 - auc: 0.9785Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.0629 - acc: 0.5266 - auc: 0.9308WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 1.2606 - acc: 0.6512 - auc: 0.9784 - val_loss: 2.0629 - val_acc: 0.5266 - val_auc: 0.9308 Epoch 131/150 58/59 [============================>.] - ETA: 1s - loss: 1.2412 - acc: 0.6569 - auc: 0.9783Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.1491 - acc: 0.5154 - auc: 0.9336WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 113s 2s/step - loss: 1.2392 - acc: 0.6576 - auc: 0.9784 - val_loss: 2.1491 - val_acc: 0.5154 - val_auc: 0.9336 Epoch 132/150 58/59 [============================>.] - ETA: 1s - loss: 1.2328 - acc: 0.6555 - auc: 0.9796Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.1416 - acc: 0.5299 - auc: 0.9299WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 112s 2s/step - loss: 1.2303 - acc: 0.6556 - auc: 0.9798 - val_loss: 2.1416 - val_acc: 0.5299 - val_auc: 0.9299 Epoch 133/150 58/59 [============================>.] - ETA: 1s - loss: 1.2486 - acc: 0.6547 - auc: 0.9776Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.0982 - acc: 0.5254 - auc: 0.9312WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 114s 2s/step - loss: 1.2533 - acc: 0.6535 - auc: 0.9773 - val_loss: 2.0982 - val_acc: 0.5254 - val_auc: 0.9312 Epoch 134/150 58/59 [============================>.] - ETA: 1s - loss: 1.2166 - acc: 0.6574 - auc: 0.9806Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.0843 - acc: 0.5503 - auc: 0.9307WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 111s 2s/step - loss: 1.2185 - acc: 0.6574 - auc: 0.9804 - val_loss: 2.0843 - val_acc: 0.5503 - val_auc: 0.9307 Epoch 135/150 58/59 [============================>.] - ETA: 1s - loss: 1.2241 - acc: 0.6627 - auc: 0.9787Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.0528 - acc: 0.5461 - auc: 0.9343WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 114s 2s/step - loss: 1.2231 - acc: 0.6630 - auc: 0.9788 - val_loss: 2.0528 - val_acc: 0.5461 - val_auc: 0.9343 Epoch 136/150 58/59 [============================>.] - ETA: 1s - loss: 1.2244 - acc: 0.6536 - auc: 0.9806Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.0132 - acc: 0.5503 - auc: 0.9349WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 115s 2s/step - loss: 1.2262 - acc: 0.6536 - auc: 0.9806 - val_loss: 2.0132 - val_acc: 0.5503 - val_auc: 0.9349 Epoch 137/150 58/59 [============================>.] - ETA: 1s - loss: 1.1835 - acc: 0.6678 - auc: 0.9800Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.2005 - acc: 0.5345 - auc: 0.9254WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 118s 2s/step - loss: 1.1823 - acc: 0.6681 - auc: 0.9802 - val_loss: 2.2005 - val_acc: 0.5345 - val_auc: 0.9254 Epoch 138/150 58/59 [============================>.] - ETA: 1s - loss: 1.1701 - acc: 0.6656 - auc: 0.9809Epoch 1/150 19/59 [========>.....................] - ETA: 52s - loss: 2.1430 - acc: 0.5274 - auc: 0.9289WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 110s 2s/step - loss: 1.1723 - acc: 0.6654 - auc: 0.9810 - val_loss: 2.1430 - val_acc: 0.5274 - val_auc: 0.9289 Epoch 139/150 58/59 [============================>.] - ETA: 1s - loss: 1.1816 - acc: 0.6707 - auc: 0.9805Epoch 1/150 19/59 [========>.....................] - ETA: 53s - loss: 2.1403 - acc: 0.5241 - auc: 0.9324WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 117s 2s/step - loss: 1.1823 - acc: 0.6705 - auc: 0.9804 - val_loss: 2.1403 - val_acc: 0.5241 - val_auc: 0.9324 Epoch 140/150 58/59 [============================>.] - ETA: 1s - loss: 1.2088 - acc: 0.6647 - auc: 0.9799Epoch 1/150 19/59 [========>.....................] - ETA: 50s - loss: 2.1810 - acc: 0.5249 - auc: 0.9300WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 107s 2s/step - loss: 1.2091 - acc: 0.6650 - auc: 0.9798 - val_loss: 2.1810 - val_acc: 0.5249 - val_auc: 0.9300 Epoch 141/150 58/59 [============================>.] - ETA: 1s - loss: 1.1791 - acc: 0.6694 - auc: 0.9810Epoch 1/150 19/59 [========>.....................] - ETA: 55s - loss: 2.0668 - acc: 0.5436 - auc: 0.9315WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 120s 2s/step - loss: 1.1754 - acc: 0.6704 - auc: 0.9812 - val_loss: 2.0668 - val_acc: 0.5436 - val_auc: 0.9315 Epoch 142/150 58/59 [============================>.] - ETA: 1s - loss: 1.1793 - acc: 0.6735 - auc: 0.9807Epoch 1/150 19/59 [========>.....................] - ETA: 50s - loss: 2.0645 - acc: 0.5407 - auc: 0.9294WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 109s 2s/step - loss: 1.1786 - acc: 0.6746 - auc: 0.9807 - val_loss: 2.0645 - val_acc: 0.5407 - val_auc: 0.9294 Epoch 143/150 58/59 [============================>.] - ETA: 1s - loss: 1.1641 - acc: 0.6735 - auc: 0.9805Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.1213 - acc: 0.5453 - auc: 0.9327WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 120s 2s/step - loss: 1.1659 - acc: 0.6742 - auc: 0.9803 - val_loss: 2.1213 - val_acc: 0.5453 - val_auc: 0.9327 Epoch 144/150 58/59 [============================>.] - ETA: 1s - loss: 1.1617 - acc: 0.6691 - auc: 0.9818Epoch 1/150 19/59 [========>.....................] - ETA: 47s - loss: 2.0141 - acc: 0.5582 - auc: 0.9341WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 108s 2s/step - loss: 1.1626 - acc: 0.6688 - auc: 0.9817 - val_loss: 2.0141 - val_acc: 0.5582 - val_auc: 0.9341 Epoch 145/150 58/59 [============================>.] - ETA: 1s - loss: 1.1765 - acc: 0.6683 - auc: 0.9813Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.1306 - acc: 0.5295 - auc: 0.9257WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 121s 2s/step - loss: 1.1771 - acc: 0.6673 - auc: 0.9814 - val_loss: 2.1306 - val_acc: 0.5295 - val_auc: 0.9257 Epoch 146/150 58/59 [============================>.] - ETA: 1s - loss: 1.1338 - acc: 0.6816 - auc: 0.9829Epoch 1/150 19/59 [========>.....................] - ETA: 44s - loss: 2.0902 - acc: 0.5349 - auc: 0.9316WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 108s 2s/step - loss: 1.1390 - acc: 0.6799 - auc: 0.9827 - val_loss: 2.0902 - val_acc: 0.5349 - val_auc: 0.9316 Epoch 147/150 58/59 [============================>.] - ETA: 1s - loss: 1.1790 - acc: 0.6704 - auc: 0.9814Epoch 1/150 19/59 [========>.....................] - ETA: 54s - loss: 2.0241 - acc: 0.5441 - auc: 0.9352WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 120s 2s/step - loss: 1.1812 - acc: 0.6696 - auc: 0.9814 - val_loss: 2.0241 - val_acc: 0.5441 - val_auc: 0.9352 Epoch 148/150 58/59 [============================>.] - ETA: 1s - loss: 1.1379 - acc: 0.6767 - auc: 0.9820Epoch 1/150 19/59 [========>.....................] - ETA: 42s - loss: 2.1943 - acc: 0.5366 - auc: 0.9294WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 104s 2s/step - loss: 1.1368 - acc: 0.6772 - auc: 0.9821 - val_loss: 2.1943 - val_acc: 0.5366 - val_auc: 0.9294 Epoch 149/150 58/59 [============================>.] - ETA: 1s - loss: 1.1455 - acc: 0.6742 - auc: 0.9811Epoch 1/150 19/59 [========>.....................] - ETA: 52s - loss: 2.0798 - acc: 0.5470 - auc: 0.9313WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 116s 2s/step - loss: 1.1477 - acc: 0.6737 - auc: 0.9810 - val_loss: 2.0798 - val_acc: 0.5470 - val_auc: 0.9313 Epoch 150/150 58/59 [============================>.] - ETA: 1s - loss: 1.1222 - acc: 0.6859 - auc: 0.9818Epoch 1/150 19/59 [========>.....................] - ETA: 40s - loss: 2.0251 - acc: 0.5499 - auc: 0.9351WARNING:tensorflow:Can save best model only with AUC available, skipping. 59/59 [==============================] - 102s 2s/step - loss: 1.1221 - acc: 0.6858 - auc: 0.9818 - val_loss: 2.0251 - val_acc: 0.5499 - val_auc: 0.9351
score = model.evaluate_generator(generator=test_data_gen,
steps=141)
print("Accuracy: ", score[1])
print("AUC: ", score[2])
Accuracy: 0.5765123 AUC: 0.9458929
epochs = 150
acc = history.history['acc']
val_acc = history.history['val_acc']
loss=history.history['loss']
val_loss=history.history['val_loss']
epochs_range = range(epochs)
plt.figure(figsize=(8, 8))
plt.subplot(1, 2, 1)
plt.plot(epochs_range, acc, label='Training Accuracy')
plt.plot(epochs_range, val_acc, label='Validation Accuracy')
plt.legend(loc='lower right')
plt.title('Training and Validation Accuracy')
plt.subplot(1, 2, 2)
plt.plot(epochs_range, loss, label='Training Loss')
plt.plot(epochs_range, val_loss, label='Validation Loss')
plt.legend(loc='upper right')
plt.title('Training and Validation Loss')
plt.show()
This model as a high AUC of .95, but the accuracy is lower than the three class classifier at .57.
Using the full dataset is much larger, and training time takes much longer. Using Google Colab, my session crashed several times mid-training for other models I had tried testing. I will continue to optimize and train this model to achieve better performance.